WorldScreenGuard
public static class WorldScreenGuardNamespace NodeWorld.SDK.Client.XR.
What a world may not do to the player's view (plan Flux B3, « L'UI du client s'affiche au-dessus du monde »), held at every frame after everything the world runs (its FL# scripts, animators, UI events) and before the cameras render (WorldScreenGuardFrame): - a camera of the world draws only into a render texture: one that would draw on the screen, and in the headset, over the player's view and the client's interface is turned off (a mirror, a security camera keep working); - a canvas of the world drawn on the screen (Screen Space Overlay, or Screen Space Camera without a camera) sorts under the client's screen canvases: its sorting order comes down to ClientUi.WorldScreenOrderMax; - the layer of the client's interface in the world (ClientUi.Layer) is not the world's: an object of the world found on it goes to Default. The client tracks each world scene it loads (TrackScene), the FL# engine each object it makes (Track: copies, network copies).
Methods
TrackScene
public static void TrackScene(Scene scene)A world scene was loaded: its cameras and canvases are held from now on, its objects leave the client's layer.
UntrackScene
public static void UntrackScene(Scene scene)The world scene was unloaded.
Track
public static void Track(GameObject root)An object of the world (and its children, active or not): held as the scene's are.
IsWorldCamera
public static bool IsWorldCamera(Camera camera)The camera belongs to a world scene (its own cameras, the cameras its scripts made).
IsWorldObject
public static bool IsWorldObject(GameObject gameObject)The object belongs to a world scene.
