Tips and Constraints
The system of Spatial Reality Display(SR 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 carefull 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 SR 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 SR Display, try:
Place a plane in SR 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
Be careful when using Display Resolution Dialog
Display Resolution Dialog is deprecated and disabled by default from Unity 2019.1 and it is removed in Unity 2019.4. So we recommend that you do not to use Display Resolution Dialog in Unity 2019.1 or later.
In Unity 2018.4, Display Resolution Dialog is enable by default. You can use Display Resolution Dialog in Unity 2018.4 with SRDispaly UnityPlugin, but you should be careful to set parameters in the dialog correctly when you launch the application where Display Resolution Dialog is enable. If you set wrong parameters in the dialog, the application will not work as expected. Sometimes it will show only black or SR Rendering will not works.
You can disable Display Resolution Dialog even if you use Unity 2018.4. The application where the dialog is disabled will be automatically moved to SR Display. However, in this case, the size of the splash screen may not be full screen.
Common to BRP/URP Plugins
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 SRDisplay Unity plugin 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 SRDisplay UnityPlugin 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.
Spatial Clipping is not supported.
Spatial Clipping is not supported in the current version.
RunWithoutMode is not supported.
RunWithoutMode is not supported in the current version.