Tips and Constraints
The Spatial Reality Display has several distinctive features compared with other systems, including eye tracking and SR Rendering. It is more similar to a VR application than to an application running on a PC or smartphone alone. As a result, some VR-specific tips and constraints apply.
Minimize the latency for good user experience
The short latency is very important for good user experience.
We strongly recommend to turn off VSync to minimize the latency. You can turn VSync off by setting Don't Sync in Project Settings > Quality > VSync Count. However, turning VSync off causes screen tearing. Consider this trade-off when deciding whether to use VSync in your application.
Also, you should be careful for optimizing the performance of your contents to reduce the latency. Even if VSync is turned off, if the performance load of your application is heavy, the latency will be long.
This is very similar to the performance optimization for VR contents.
Do NOT use screen-space based contents
This is because screen-space based contents in Spatial Reality Display can cause user discomfort or adverse health effects.
For example, in Unity UI, World Space Render Mode is only supported and Screen Space modes are not. If you place UI elements with Screen Space mode canvas, the elements are not appear when you play the application. (See for the details: Canvas | Unity UI)
Also, Camera Far/Near Plane Render Modes are not supported in Video Player. If you would like to play the video on Spatial Reality Display, try:
-
Place a plane in Spatial Reality Display View Space
-
Attach Video Player to the plane
-
Set Material Override Render mode in the Video Player
-
Set any video clip to the Video Player
Then, the video clip is played in the plane when the app is launched
The Unity app stops working when the connection to the Spatial Reality Display is lost.
By default, a Unity app using the Spatial Reality Display Plugin for Unity displays an error message and stops when the connection to the Spatial Reality Display is lost. To change this behavior, see “Behavior Settings When the Spatial Reality Display Is Disconnected.”
Spatial Clipping has side effects on some shaders(materials and particles)
Spatial Clipping changes the projection matrix, so that the depth in the clip space coordinates is changed. Due to this, the shaders that use Z value in the clip space coordinates may not work as expected.
Therefore, materials and particles using such shaders may not work as expected when Spatial Clipping is active.
Camera Stacking feature in URP is not supported
The Spatial Reality Display Plugin for Unity does not support the camera stacking feature because it has no control of the overlaid camera.
Some Reflection Probe settings do not work correctly with OpenGL (Windows only)
There is a problem in Spatial Reality Display Plugin for Unity that: the application shows only black if there is a Reflection Probe (where Type is Realtime, Refresh Mode is Every frame, and Time Slicing is No time slicing) when Graphics API is set as OpenGL Core in Project Settings and Development Build is disable in Build Settings.
The PortraitSRDisplayManager Prefab does not have a MainCamera
If you need it, we recommend to add MainCamera tag to the camera component in LeftEyeCamera.
Do not add the MainCamera tag to the camera component of WatcherCamera. WatcherCamera is automatically disabled at runtime to reduce the processing load, so you cannot retrieve the component using Camera.main.