Input Scripts

Input Scripts allow you to create any Actions you wish or control the included features within this asset. We have provided 36 pre-configured scripts as example prefabs, including two haptic feedback scripts for controller vibration. You can view these in the example scene.

image

The example prefab scripts have been named appropriately so they are easy to understand. Each of them can be dragged into as a Linked Object in the Optional Bindings section or they can be added to a Trigger Collider using the included OpenWorlds Script. Check out the Example Scene to see how this works.

image

We have also included an On Start Trigger where you can also add OpenWorlds Input Scripts. You can experiment with the Delay parameter, you need to be aware of delays within Unity etc, for example, instantiating a character needs to complete before you access it.

image

The most powerful script is the ExecuteList script where you can stack other input scripts for sequential execution.

image

Check out the Example Script to see how to code your own Inputs, and watch the OpenWorlds Tutorial on building Input Scripts.

Where they live

All 36 scripts are in Assets/Plugins/OpenWorlds/OpenWorldsInputScripts/. Every one implements the same tiny IOpenWorldsInput interface — a single inputmethod() entry point — so they can all be dragged into an Optional Binding, a Trigger Collider, an On Start Trigger, or stacked inside ExecuteListScript interchangeably.

Movement & Rotation

ScriptWhat it does
PlayerMovementScriptEnables/configures thumbstick movement for the player
PlayerRotationScriptEnables/configures thumbstick rotation for the player
PlayerMoveSpeedScriptSets the player's move speed to a configured value
PlayerWalkRunScriptSets the player's locomotion state to Walk or Run
ToggleMovementScriptToggles player movement on/off
ToggleWalkRunScriptToggles between Walk and Run locomotion states

IK (Inverse Kinematics)

ScriptWhat it does
PlayerIKActiveScriptEnables head/hand/body IK on the local player
PlayerIKInActiveScriptDisables head/hand/body IK on the local player
ResetPlayerIKScriptResets the IK solver back to its default pose
TogglePlayerIKScriptToggles IK on/off, per body part

Grab & Interaction

ScriptWhat it does
SetLeftHoldScriptSets the left hand's hold/grab state to true
SetRightHoldScriptSets the right hand's hold/grab state to true
ToggleLeftHoldScriptToggles the left hand's hold/grab state
ToggleRightHoldScriptToggles the right hand's hold/grab state
ToggleDirectGrabScriptToggles Direct Grab interaction on/off
ToggleMagneticGrabScriptToggles Magnetic Grab interaction on/off
TogglePokeScriptToggles Poke interaction on/off
ToggleRayScriptToggles the UI Ray interaction on/off
ToggleTeleportScriptToggles Teleport interaction on/off

Haptics

ScriptWhat it does
SendLeftHapticScriptSends a haptic (vibration) pulse to the left controller. Exposes Amplitude (0–1) and Duration (seconds)
SendRightHapticScriptSends a haptic (vibration) pulse to the right controller. Exposes Amplitude (0–1) and Duration (seconds)

Character

ScriptWhat it does
SwapCharacterScriptSwaps the player to a specific character model
ToggleCharacterScriptCycles between available character models
DisplayCSPanelScriptShows the Character Selection panel

Camera & Recentering

ScriptWhat it does
RecenterPlayerScriptRecenters the VR view/player position (see Recentering Player)
ResetVRCameraScriptResets the VR camera to its default position

UI & HUD

ScriptWhat it does
ToggleHUDScriptToggles the in-game HUD visibility
TogglePlayerHudScriptToggles the player-specific HUD elements
ToggleLeftObjectScriptToggles a linked GameObject's active state, bound to the left hand
ToggleRightObjectScriptToggles a linked GameObject's active state, bound to the right hand

Sequencing & Utility

ScriptWhat it does
ExampleScriptTemplate/reference showing how to write your own IOpenWorldsInput script
ExecuteListScriptRuns a stacked list of other input scripts in sequence
ChangeActionScriptChanges which linked object is bound to an Optional Binding mode/action slot
ConsoleMessageScriptPrints a message to the console — useful while debugging a trigger chain
WaitAndExecuteScriptWaits a configured delay, then executes a linked input script
WaitForSecondsScriptWaits a configured delay — typically stacked inside ExecuteListScript
⚠️
Script descriptions above are a quick-reference guide based on each script's name and configuration fields. For exact behaviour, open the script in Assets/Plugins/OpenWorlds/OpenWorldsInputScripts/ — each is short and self-contained.