class_name DemoSceneBase extends XRToolsSceneBase func _ready(): super() var webxr_interface = XRServer.find_interface("WebXR") if webxr_interface: XRToolsUserSettings.webxr_primary_changed.connect(self._on_webxr_primary_changed) _on_webxr_primary_changed(XRToolsUserSettings.get_real_webxr_primary()) func _on_webxr_primary_changed(webxr_primary: int) -> void: # Default to thumbstick. if webxr_primary == 0: webxr_primary = XRToolsUserSettings.WebXRPrimary.THUMBSTICK # Re-assign the action name on all the applicable functions. var action_name = XRToolsUserSettings.get_webxr_primary_action(webxr_primary) for controller in [$XROrigin3D/LeftHand, $XROrigin3D/RightHand]: for n in ["MovementDirect", "MovementTurn", "FunctionTeleport"]: var f = controller.get_node_or_null(n) if f: if "input_action" in f: f.input_action = action_name if "rotation_action" in f: f.rotation_action = action_name