The twist on radius node will wait for the user to press the VR controller trigger on an object and twist on the specified axis of rotation. The twistOnRadius node is dereferenced from a scenemodel.
If you would like an interaction to work one way in PC and another in VR you can use the IsVR node to define the differences.
To call the IsVR node you need to dereference it from the Services node. This node will detect whether the user is playing the lesson in VR and return True otherwise it will return False.
Since it has a True/False output you will need to dereference an If node to define the paths. Add the interaction sequence you want to use in VR to the first parameter if you want to define a PC interaction then use the else parameter.
The VRInputManager node is used to gather information about VR user interactions during the lesson, set their starting position and controller skins. We call the VRInputManager by dereferencing it from the Services node.
Note: VR Input Manager functions will cause your lesson to crash if they are executed in a PC instance so they must always be attached to an IsVR check.
The teleport node is a VR input Manager function that will set the starting position for the VR user. In PC you set the starting position by setting the position of the Main Camera in the setup node. If you would like the VR starting position to be the same you can easily grab the Main Camera's position and rotation by calling the Main Camera object and dereferencing its position/rotation property.
Functions such as IsTriggerDown, IsTriggerUp, IsTriggerPressing are used to determine the state of the VR controller trigger.
IsSceneObjectRayHit is a VR Input Manager function that detects if the specified VR Controller is hovering over the specified sceneobject.
The setControllerOverrideModel node will set the VR controller model to use the specified scenemodel.
ClearControlleroverrideModel will clear the specified model from the controller.