This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Run a Unity or hybrid app on Expo Simulators
Edit page
Build a Unity game or another app for the Android Emulator or iOS Simulator, then install and control it on a remote Expo Simulators session.
Expo Simulators is a limited-access preview. It is not included with paid or free plans and is currently available only to select partners. Join the waitlist if you are interested in trying it.
Expo Simulators runs Unity apps. Unity exports a native project. Build that project for the emulator or simulator, publish the build to a URL, and pass the URL to eas simulator:start. The same steps apply to any app that produces a simulator .app or an emulator .apk.
Build a Unity app
Build an .apk from Unity and include the x86_64 target architecture, because the Android Emulator runs that architecture. In Player Settings, under Target Architectures, select x86-64. New projects in Unity 6.3 and later list only ARMv7 and ARM64 for Android, so check that your Unity version can build an x86_64 APK before you choose it for emulator testing.
Unity exports an Xcode project for iOS. Before you export, set Target SDK to Simulator SDK in the iOS Player settings. Then build the project against the simulator SDK, and compress the .app in the build output folder. Its name comes from your Unity product name. Replace <YourApp> with that name:
Start a session with the build
Upload the file to storage that returns it directly. Then pass its URL:
For the project setup that EAS CLI or the REST API needs, see Native Android and iOS apps.
Control the app
Use device-level commands, such as open, screenshot, and press with coordinates (press <x> <y>). A Unity app exposes no accessibility tree unless it builds one with the Unity Accessibility module, so snapshot -i finds no elements to press. See Control a remote simulator with agent-device, Argent, or Appium.
Hybrid apps
A hybrid app shows web content inside a native app. If the toolchain produces an Android Emulator .apk or an iOS Simulator .app, install it with the same steps.
Common questions
Which features do not work for Unity apps?
Fast Refresh, Metro, React DevTools, component inspection, and React render profiling do not work. See Expo Simulators limitations.
Can I record the app in motion?
Yes. Use agent-device record start <path> and record stop. Recordings may not capture every frame, so they cannot prove or disprove a short frame drop. See Capture screenshots, recordings, and logs from a remote simulator.