Documentation

ContactGloveComponent

DevicePriority

The priority of the device referenced by ContactGloveComponent. When multiple devices are connected to DivingStation, select one of up to six priorities, First through Sixth.

The SDK automatically assigns priorities to device IDs received from DivingStation, generally in their order of arrival. A device reported as the main device by DivingStation is assigned First. Device IDs cannot be selected directly to fix the assignment.

Send Vibration

Vibrates the glove.

Send Vibration

Inputs

NameTypeDescription
HandEHandSidesHand to vibrate
FrequencyfloatVibration frequency
AmplitudefloatVibration strength
DurationfloatVibration duration

Set Haptics

Sets the haptic state.

Set Haptics

Enables or disables the internal haptic state for the finger specified by Section. The current implementation sends vibration with a default frequency, amplitude, and duration to a hand with any active haptic state.

⚠️ This function is available only on models with haptic modules sold to business customers. Standard models support vibration via SetVibration only.

Inputs

NameTypeDescription
HandEHandSidesHand whose haptic state is set
SectionEColliderSectionFinger whose haptic state is set
EnableboolWhether to enable the state

Get Controller Data

Retrieves controller information.

Get Controller Data

Inputs

NameTypeDescription
HandEHandSidesHand to retrieve

Outputs

NameTypeDescription
Return ValueFControllerInputController information

Get Flex Data

Retrieves finger flexion and abduction.

Get Flex Data

Inputs

NameTypeDescription
HandEHandSidesHand to retrieve

Outputs

NameTypeDescription
Return ValueFHandPoseFinger flexion and abduction

Get Wrist Pose

Retrieves wrist pose information.

Inputs

NameTypeDescription
HandEHandSidesHand to retrieve

Outputs

NameTypeDescription
Return ValueFWristPoseWrist pose

Get Device Info

Retrieves device information.

Outputs

NameTypeDescription
Return ValueFDeviceInfoDevice information

Set Device Priority

Sets the device priority used by ContactGloveComponent.

Inputs

NameTypeDescription
NewDevicePriorityEDevicePriorityNew device priority

Get Device Priority

Retrieves the device priority currently used by ContactGloveComponent.

Outputs

NameTypeDescription
Return ValueEDevicePriorityCurrent device priority

On Controller Data

Called when controller information is updated.

On Controller Data

Outputs

NameTypeDescription
ControllerDataFControllerInputController information

On Left Controller Received

Called when left-hand controller information is updated.

Outputs

NameTypeDescription
ControllerDataFControllerInputLeft-hand controller information

On Right Controller Received

Called when right-hand controller information is updated.

Outputs

NameTypeDescription
ControllerDataFControllerInputRight-hand controller information

On Left Flex Data

Called when left-hand finger flexion and abduction are updated.

On Left Flex Data

Outputs

NameTypeDescription
FlexDataFHandPoseFlexion and abduction

On Right Flex Data

Called when right-hand finger flexion and abduction are updated.

On Right Flex Data

Outputs

NameTypeDescription
FlexDataFHandPoseFlexion and abduction

On Left Wrist Received

Called when the left wrist pose is updated.

Outputs

NameTypeDescription
WristPoseFWristPoseLeft wrist pose

On Right Wrist Received

Called when the right wrist pose is updated.

Outputs

NameTypeDescription
WristPoseFWristPoseRight wrist pose

On Device Data Received

Called when device information is received from DivingStation.

Outputs

NameTypeDescription
DeviceInfoFDeviceInfoDevice information

On Controller Button Pressed

Called when a controller button is pressed.

On Controller Button Pressed

Outputs

NameTypeDescription
HandEHandSidesLeft or right hand
ButtonEControllerBoolInputTypeButton pressed

On Controller Button Released

Called when a controller button is released.

On Controller Button Released

Outputs

NameTypeDescription
HandEHandSidesLeft or right hand
ButtonEControllerBoolInputTypeButton released

ContactGloveHapticsHandler

ContactGloveHapticsHandler is an Actor that detects collisions using Sphere Colliders following the hand bones and updates the haptic state for each EColliderSection in collision, in the same way as Set Haptics.

Enable or disable it using HapticsHandler > Enabled in Details or the Blueprint node Set Haptics Handler Enabled. Disabling it turns off all haptic states for the hand controlled by that handler.

EHandSides

Enumeration for the left or right hand.

NameTypeDescription
LeftEHandSidesLeft hand
RightEHandSidesRight hand

EDevicePriority

Priority assigned by the SDK to device IDs received from DivingStation. Used by ContactGloveComponent.DevicePriority, Set Device Priority, and Get Device Priority.

NameTypeDescription
FirstEDevicePriorityFirst device; a device reported as main by DivingStation is assigned here
SecondEDevicePrioritySecond device
ThirdEDevicePriorityThird device
FourthEDevicePriorityFourth device
FifthEDevicePriorityFifth device
SixthEDevicePrioritySixth device

EColliderSection

Enumeration of fingertip sections used by Set Haptics and ContactGloveHapticsHandler. Per-finger haptic modules are available only on models equipped with them.

NameTypeDescription
ThumbDistalEColliderSectionThumb first joint
IndexDistalEColliderSectionIndex finger first joint
MiddleDistalEColliderSectionMiddle finger first joint
RingDistalEColliderSectionRing finger first joint

EControllerBoolInputType

Enumeration of controller buttons.

NameTypeDescription
AEControllerBoolInputTypeA button
BEControllerBoolInputTypeB button
HomeEControllerBoolInputTypeHome button
JoystickButtonEControllerBoolInputTypeJoystick
TrackpadTouchEControllerBoolInputTypeTrackpad

EButtonState

Enumeration of controller input states.

NameTypeDescription
IdleEButtonStateNo input
TouchedEButtonStateTouched
PressedEButtonStatePressed

FControllerInput

Structure containing controller information.

NameTypeDescription
bIsValidboolWhether the data is valid
HandEHandSidesController hand
AboolWhether A is pressed
BboolWhether B is pressed
HomeboolWhether Home / System is active
SystemboolWhether System is active; currently the same as Home
TriggerButtonboolWhether the trigger button is active
JoystickButtonboolWhether the joystick is pressed
TrackpadTouchboolWhether the trackpad is touched
TrackpadButtonboolWhether the trackpad button is active; currently the same as TrackpadTouch
AStateEButtonStateA button state; Idle when inactive
BStateEButtonStateB button state; Idle when inactive
SystemStateEButtonStateSystem / Home button state; Idle when inactive
TriggerButtonStateEButtonStateTrigger button state; Idle when inactive
JoystickButtonStateEButtonStateJoystick button state; Idle when inactive
TrackpadButtonStateEButtonStateTrackpad button state; Idle when inactive
TriggerfloatTrigger value, 0.0–1.0; 0.0 when inactive
GripValuefloatGrip value, 0.0–1.0; 0.0 when inactive
GripForcefloatGrip force, 0.0–1.0; 0.0 when inactive
JoystickXfloatJoystick X-axis value, -1.0–1.0; 0.0 when inactive
JoystickYfloatJoystick Y-axis value, -1.0–1.0; 0.0 when inactive
TrackpadXfloatTrackpad X-axis value, -1.0–1.0; 0.0 when inactive
TrackpadYfloatTrackpad Y-axis value, -1.0–1.0; 0.0 when inactive

FControllerInput retains float values received from DivingStation as-is. The SDK does not clamp them.

FWristPose

Structure containing wrist pose information.

NameTypeDescription
HandEHandSidesHand
RotationFQuatWrist rotation

FDeviceInfo

Structure containing device information.

NameTypeDescription
DeviceIDFStringDevice ID
IsMainDeviceboolWhether DivingStation treats it as the main device
DeviceTypeEDeviceTypeDevice type
DeviceNameFStringDevice name
DeviceColorEDeviceColorDevice LED color
PingfloatCommunication latency with the dongle
IsLeftConnectedboolWhether the left-hand device is connected
LeftBatteryintLeft-hand device battery level
LeftPingfloatCommunication latency with the left-hand device
IsRightConnectedboolWhether the right-hand device is connected
RightBatteryintRight-hand device battery level
RightPingfloatCommunication latency with the right-hand device

FHandPose

Structure containing finger flexion and abduction. Flexion is normalized from 0.0 to 1.0. Abduction is the tilt received via DSP /DS/HC/Hand, an angle with the default position at 0 degrees. The SDK retains the value from DivingStation without clamping, normalization, or conversion to degrees.

NameTypeDescription
HandEHandSidesHand
ThumbFThumbPoseThumb flexion and abduction
IndexFFingerPoseIndex finger flexion and abduction
MiddleFFingerPoseMiddle finger flexion and abduction
RingFFingerPoseRing finger flexion and abduction
LittleFFingerPoseLittle finger flexion and abduction

FFingerPose

Structure containing flexion and abduction for fingers other than the thumb.

NameTypeDescription
McpfloatMP joint flexion, 0.0–1.0
PipfloatPIP joint flexion, 0.0–1.0
DipfloatDIP joint flexion, 0.0–1.0
McpAbductionfloatMP joint abduction angle, with the default position at 0 degrees

FThumbPose

Structure containing thumb flexion and abduction.

NameTypeDescription
CmcfloatCM joint flexion, 0.0–1.0
McpfloatMP joint flexion, 0.0–1.0
IpfloatIP joint flexion, 0.0–1.0
CmcAbductionfloatCM joint abduction angle, with the default position at 0 degrees