Tips and Constraints
The system of Spatial Reality Display has some special aspects compared to other systems, such as the eye-tracking system and SR Rendering system. The system is not the same as simple PC standalone applications perfectly and more similar to VR applications. That's why there are some tips and constraints.
Common to all Plugins
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, turing VSync off causes the tearing problem. If you cannot accept the tearing problem, you need to turn VSync on.
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
When the connection between the Spatial Reality Display and is lost, the Unity app stops working.
When the Unity app is using the Spatial Reality Display Plugin for Unity, the Spatial Reality Display will display an error message when the connection is lost and the Unity app will stop working.
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 settings in Reflection Probe are not working well with OpenGL
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.
There is no MainCamera in SRDispalyManager Prefab
If you need it, we recommend to add MainCamera tag to the camera component in LeftEyeCamera.
You should not add MainCamera tag to the camera component in WatcherCamera. This is because WatcherCamera will be disable at runtime automatically to reduce the processing load and you cannot get the component with Camera.main.
HDRP
Light may not be reflected correctly.
When creating HDRP content, the expression of light may not be reflected correctly.