Play to Device
The Play to Device feature drastically improves iteration and debugging workflows. it enables you to:
- Efficiently iterate and live preview your content across the Unity editor on the visionOS simulator or the Apple Vision Pro device
- Deploy your content without rebuilding an Xcode project
- Access Unity editor’s play mode features on the visionOS simulator and Apple Vision Pro device
This feature is delivered through the Play to Device Host application, which can be installed on the visionOS Simulator or an Apple Vision Pro device. With the Play to Device host running, you can press Play in the Unity Editor and see your content appear in the simulator or on device, rendered by RealityKit. No intermediate builds are required.
Any changes you make in Unity Editor - such as creating game objects, modifying inspector values, updating and recompiling shader graphs, etc. - will be synchronized to the simulator/device in real time, and any interactions you perform on the host will be synchronized back to the editor.
NOTE: Loading a scene during runtime is currently not supported on Play to Device.
Requirements
Depending on how you are running your application, you will need to install the Play to Device Host on either the visionOS Simulator or an Apple Vision Pro device.
- For running the Play to Device Host on the visionOS simulator you can find the Xcode .app files in the Following link.
- For running the Play to Device Host on an Apple Vision Pro device you can find the TestFlight link in the Following link.
It is important to note that the Play to Device Host must match your PolySpatial package version exactly. Refer to the Requirements page for more information about the specific editor versions supported depending on the PolySpatial package version you are running.
First Time Setup - visionOS Simulator
To install the host app for the visionOS simulator:
- Download the “Play To Device Host.app.zip” to your Apple Silicon Mac. See the Compatibility Matrix above to identify the right version given your PolySpatial version.
- Extract the zip file revealing “Play To Device Host.app” in Finder.
- Start the visionOS simulator, either by going to “Xcode > Open Developer Tool > Simulator” within Xcode, or using Spotlight (command+space) and typing “simulator”.
- When the simulator is running, you can see the home screen with various app icons. Drag “Play To Device Host.app” from the Finder window into the simulator window.
- After a few seconds, you should see “Play To Device Host” appear as one of the app icons on the home screen. Note that you may have to scroll the app list to see it.
First Time Setup - visionOS Hardware
To install the host app for an Apple Vision Pro device:
- Follow the TestFlight invite link on your computer or smartphone (or in Safari on the device). You should see an invite code. See the Compatibility Matrix above to access a link compatible with your PolySpatial version.
- Open the TestFlight app on your Vision Pro device, signing into your Apple account if necessary.
- Tap “Redeem Code” in the TestFlight app.
- Enter the code you saw in your browser after following the invite link.
- Tap “Download” in the TestFlight app after reading the build information and release notes.
- After a few seconds, either tap “Open” from TestFlight or navigate to the Play To Device Host application that now appears on your home screen.
First Time Setup - Unity Editor
Once you've installed a host app for device or simulator (see above):
- Make sure the host and development machine are on the same LAN.
- Launch the host app.
- In Unity Editor, open the Play to Device Editor window by clicking on
Window > PolySpatial > Play to Device - Copy the IP address displayed within the Host app to the “Host IP” field of the Play to Device editor window.
- Enable Connect to Player on Play Mode
- Enter Play mode in the Unity Editor. The Unity Editor will connect to the host and begin streaming your experience to the host in real time. You can then view, play, or interact with your experience via either editor or device; changes and interactions will automatically stay in sync.
If you notice that your connection is timing out, you can increase the connection timeout in the Play To Device Editor Window. The default timeout is 5 seconds.
Subsequent Usage
After initial setup, your content will be synced to the host app each time you press play, as long as Connect to Player on Play Mode is enabled and the host remains live.
Troubleshooting
For troubleshooting issues refer to the Play to Device troubleshooting section in the FAQ
Tutorial: Previewing a cube
To preview an application in the Play To Device host:
- Create a new volume camera configuration asset by right clicking in the project view and selecting Create > PolySpatial > Volume Camera Configuration.
Note: Make sure the Volume Camera Configuration
asset is in the Resources
folder.
2. Set the created volume camera configuration mode to Bounded
- On a new empty scene create an Empty game Object, add a volume camera component to it and set the Volume camera configuration to the one just created.
- Create a small cube in the scene and place it inside the volume camera bounds.
- Open the Play To Device host in either the visionOS Simulator or a Vision Pro device.
Open the Play To Device Editor Window and make sure Connect To Player On Play Mode is toggled on. To no longer stream to the Play To Device and return to Game View, simply turn off the Connect To Player On Play Mode property in the Play To Device Editor Window.
With the Play To Device host open, click the Play button in the Editor. The application should begin running both within the editor and in the host app.
Upgrading/Downgrading TestFlight versions of PlayToDevice
As explained above, you must use a version of the Play to Device Host app that matches the version of the PolySpatial packages used in the Editor. This means that you may need to upgrade/downgrade the version of the app on your device depending on the version of PolySpatial you have in your project. When using the link to install the app for the first time, the latest version will be installed.
- To upgrade to the latest version, simply open the TestFlight app, find
Unity Play to Device Host
in the list, and tapUpgrade
. - To downgrade or upgrade to any version other than the latest, tap the title of the
Unity Play to Device Host
app. This will bring you to a new view with more information.- In the app details view, tap
Previous Builds
- Tap the version number which corresponds to the version of PolySpatial in your project
- In the build details view, tap
Install
- In the app details view, tap
You can find more information about TestFlight and how to test previous builds in the official documentation