Documentation by TAPgiles

Controller Sensor

Outputs signals when the player presses buttons, moves sticks, etc. (Tg)

By default, when a new sensor is placed in the scene a wire is connected from “Is Dead” to “Respawn,” and from “Circle Button” to “De-possess.” (Tg)

The outputs from the controller sensor can be overridden by wiring a value into that output. (Tg)

The orientation of the controller sensor will dictate where the orbiting camera will start from. The sensor should face the front of the character, which will cause the orbiting camera to start on the other side facing the back of the character. (Tg)

Gizmo: Shows a preview of the imp or the axis relative to the possessed object. This can be moved, rotated, and scaled. (Tg) (Tg)

Memory: Costs 0.0102% of the things limit per gadget.

# Object Ownership

When an object is possessed through a controller sensor, the player possessing that object “owns” the following (Tg):

This can also be set on sculpts groups puppets by wiring a Player Info value into their labels tabs.

# Output Settings

Sliders and buttons for controller outputs can be set by wire, which will be passed through to the output.

They can also be set using keyframes or similar recording gadgets. However a button setting can only be recorded as “on.” And sliders (eg. R2) will use the higher between the recorded value and its normal output.

Note that these sliders don’t do anything beyond give a visualisation of what the triggers are doing. Any changes made by dragging the slider with Cross button will be immediately overridden by the actual trigger value.

# Controller Death

A posessable controller can automatically “die,” if it has been offscreen for too long.

When dead, the controller sensor will not respond in any way, until respawned.

# Controller Mapping View

The outputs of this gadget work for Dualshock and Dualsense controllers, but also Moves controllers. At the bottom of each tab with controls outputs is a Controller Mapping View setting.

Using this, we can set the tweak menu to show us the moves controls versions for each of the button presses and gestures.

Note, this does not affect the functioning of the controller sensor. To use get a move controller’s output, it will come through the same wire as a gamepad controller’s output.
There is no need to change this setting during play.

The documentation below shows tables of how the controls map between gamepads and Moves. (See Controller I/O Page 1, Controller I/O Page 2, and Controller I/O Page 3.)

# Controller I/O Page 1

# L2 Button, R2 Button

Sends the amount the trigger is being pulled: 0 for not at all, 1 for when it is pulled all the way, 0.5 for pulled halfway.

# L1 Button, R1 Button, Triangle Button, Square Button, Circle Button, Cross Button

Sends a signal while the corresponding button is pressed.

# Controller Mapping View

The outputs on this tab map between gamepad controls and move controls in the following way:

Controller Moves
L2 Secondary motion controller T button
R2 Primary motion controller T button
L1 Secondary motion controller move button
R1 Primary motion controller move button
Triangle button Primary motion controller triangle button
Square button Primary motion controller square button
Circle button Primary motion controller circle button
Cross button Primary motion controller cross button

# Controller I/O Page 2

# Left Stick, Right Stick

The X and Y values sent are relative to the current view’s angle, for example as through a camera, such that pushing “up” is always pointing away from the current view in scene-space and “left” is always pointing to the left of the current view in scene-space. (Tg) (Tg)

Use Left Stick (Local) and Right Stick (Local) to get the position of the sticks.

Note, the sticks have vertical and horizontal deadzones. A custom deadzone can be added using a timeline. (Tg)

The right stick controls the camera, unless something is wired into the right stick’s output. (Tg) (Tg)

# Directional Buttons

The X and Y (or A and B) values sent are relative to the current view, such as through a camera, such that pushing “up” is always pointing away from the current view in scene-space and “left” is always pointing to the left of the current view in scene-space. (Tg)

# Motion Sensor

The controller’s axes of tilt in radians, relative to the current player view. (Tg)

# Touchpad Button, L3 Button, R3 Button

Sends a signal while the corresponding button is held down.

# Controller Mapping View

The outputs on this tab map between gamepad controls and move controls in the following way:

Controller

Moves
Left stick Gyroscope2 + Secondary motion controller T button
Right stick No mapping
Directional buttons Face buttons
Motion sensor movement 1Gyroscope
Touch pad press Motion controllers touch spheres
L3 Secondary sphere to Primary base
R3 Primary sphere to Secondary base

# Controller I/O Page 3

# Left Stick Local, Right Stick Local

The X and Y values are taken directly from the sticks themselves, and are not relative to the current view. (Tg)

The right stick controls the default camera, unless something is wired into the right stick’s output. (Tg)

# Up Button, Down Button, Left Button, Right Button

Sends a signal while the corresponding button is held. (Tg)

# Enter, Back

Sends a signal while the corresponding regional button for such a function is held. (Tg)

For example, in Japan a circle symbol means “Yes,” and an x symbol means “No.” And so in video games Circle button is used to enter, go forward, or confirm, and Cross button is used to exit, go back, or cancel.

# Controller Mapping View

The outputs on this tab map between gamepad controls and move controls in the following way:

Controller Moves
Left stick Gyroscope2 + Secondary motion controller T button
Right stick no mapping
Up button Secondary motion controller triangle button
Down button Secondary motion controller cross button
Left button Secondary motion controller square button
Right button Secondary motion controller circle button

# Camera Properties

The controller sensor has a camera built in and ready to use. It focuses on and revolves around the controller sensor gadget itself.

# Camera Height

The height relative to the controller sensor that the camera focuses on, multiplied by the current camera distance. (Tg) (Tg)

# Camera Distance

The desired camera distance from the controller sensor. (Tg)

If the camera would go inside an object that is camera-blocking, it will move closer to the focal point to avoid this.

# Camera Tilt

The tilt around the camera’s X axis (looking up/down) relative to the focal point. So when the value is high, it looks down on the sensor. (Tg)

When the value is a low negative, it looks up towards the sensor as it would if the player moves the camera down low enough.

When the value is 0, the target angle is parallel to the “ground” or X-axisZ-axis plane. (Tg)

By default, this angle can be adjusted while playing using the right stick. As the controller sensor moves though, the camera will try to match the desired angle. (Tg)

# Field of View

What angle of the view is seen on the screen. (Tg)

To get an orthographic view for an isometric game for example, use a camera that is very far away with a very low FOV. This will limit the effect perspective has as the camera moves. (Tg)

# Aperture

Other objects in the scene will be different depths from the camera from any given view. (Tg)

Note, objects within a head tracker are also affected by aperture blurriness. (Tg)

The difference in depth from the camera is used to calculate how blurry they should be. The strength of this blurriness is defined by the aperture. A high aperture means more blur effect.

This scene blur can impact rendering performance.

# VR Scale

Affects the perceived depth of objects in the scene, as if they were smaller and closer to the camera, or larger and farther away.

# Platforming Shadow

Only takes effect when the sensor is affecting an object.

This darkens all objects to black directly below any visible part of the object the controller is attached to, regardless of a sculpt’s “cast shadows” option. This setting specifies the strength of this effect. (Tg)

# Offscreen Indicator

When on and multiple players are possessing controller sensors, an indicator is shown at the edge of the screen when this controller sensor’s object is off-screen and the built-in camera is at minimum zoom and cannot let all player-possessed puppets stay on-screen at once. (Tg)

This indicator will flash if the “stay onscreen” setting is turned on.

# Stay Onscreen

When on and the controller sensor is offscreen (see offscreen indicator to see how this is defined), a countdown will be started as set in the global settings gadget. When the countdown is up, that controller sensor will “die.” (Tg)

# Important Properties & I/O (Input and Output)

Player and imp settings.

# Possession Mode

How the player can interact with the controller sensor or the attached object.

# Player 1, Player 2, Player 3, Player 4

When on, a switch allows the corresponding player to interact with the controller sensor. (Tg)

# ‘Follow Imp’ Behaviour

When using the “follow imp” setting, dictates how the attached object orients itself relative to the imp. (Tg)

# Allow Imp During Possession

When on, the imp will not move to the gizmo, but will move independently of it. Note that even when this setting is on, if the imp is hidden by global settings or the current camera’s settings, the imp will be invisible. (Tg)

When off, when a controller sensor is possessed, the imp zooms into its gizmo location, makes a “zip” sound and causes whatever object it has possessed to glow momentarily.

# Force Possession

When on, the imp will immediately possess the controller sensor when it becomes powered and the player is not yet possessing a controller sensor. (Tg) (Tg)

While on, the controller sensor cannot be depossessed.

# Depossess

When triggered, the controller sensor is possessed, and Force Possession is not active, the player depossesses this controller sensor even if the imp is hidden. (Tg) (Tg)

# Possession Visual

How the imp will be displayed once the attached object is possessed.

Note, if a Hand/Imp Tracker is following the player, the imp will not be displayed by the controller sensor.

# Imp Docking Tag

The imp will appear at the tag's transform (including position, rotation, and scale). The Tag’s white gizmo will also change into a preview of the imp when possessed. (Tg)

Note that anything apart from a tag’s Scene Space Transform output cannot be wired into this input.

# Disable Controls

When sent an “on” signal, the controller sensor will send no outputs from the player that has possessed it. (Tg)

# Miscellaneous I/O Tab

# Possessed

Sends a signal when the controller sensor is currently possessed. (Tg)

# Player Ownership

Sends a “player info” fat wire regarding who is currently possessing this controller sensor. (Tg)

# Microphone

Sends the current volume (envelope) being picked up by the possessing player’s microphone. (Tg)

# Respawn

When triggered, the possessed object is destroyed and recreated in a set position and orientation. (Tg) This position will be the last activated checkpoint if there is one. If there is no such checkpoint active, the original position the object started will be used instead.

In the time between the existing object being destroyed and a new one being created, if there is another possessable controller sensor in the scene the camera will attempt to adjust to orbit it. (Tg) (Tg)

# Die

When triggered, the controller sensor permanently stops sending output. (Tg)

Doesn’t do anything automatically beyond that, even if placed inside a possessable object or puppet. (Tg)

# Is Dead

Sends a signal while the controller sensor is in the “dead” state. (Tg)

# Offscreen

Sends a signal while the player is offscreen.

# Offscreen Death

Sends a signal when the controller sensor dies as a result of being offscreen for too long. (Tg)

# Camera Transform

The camera’s transform. (Tg)

# Hover Position

The position in the scene that the imp is hovering over. Lags when the distance from the camera changes. (Tg)

A Hand/Imp Tracker and Laser Scope can be used instead to get a less laggy hover position. (Tg)

# Using Motion Controllers

Sends a signal while the player is using motion controllers. (Tg)