reckfellENGINE

OpenXRDpadBindingModifier

D-pad settings for two-axis input in an OpenXR profile.

On this page
class OpenXRDpadBindingModifierReckfellSharpInherits OpenXripBindingModifier

OpenXRDpadBindingModifier belongs in OpenXRInteractionProfile.BindingModifiers. ActionSet selects the set; InputPath selects source two-axis input such as /user/hand/right/input/thumbstick. It does not create finished game actions automatically: D-pad directions need map bindings, and the runtime needs XR_EXT_dpad_binding plus XR_KHR_binding_modification. Request it through xr/openxr/binding_modifiers/dpad_binding.

Defaults: Threshold=0.6, ThresholdReleased=0.4, CenterRegion=0.1, WedgeAngle=π/2, IsSticky=false. ActionSet=null, empty InputPath and null haptic references. Range setters accept more than the runtime contract: use finite 0<ThresholdReleased≤Threshold≤1, 0<CenterRegion<1 and 0≤WedgeAngle<π. Validate these requirements, including threshold ordering, in advance. OpenXR extension contract.

C# WedgeAngle uses radians. Pass Mathf.DegToRad(90) for 90°; Inspector degree display does not change API units. Do not pass 90 as an already-radian value.

ActionSet changes without Changed. The other eight setters emit Changed even on repetition. Set and haptic resources remain shared references. Editing parameters does not rebuild an attached XR-session modifier.

Defaults, radians, notifications, references and absent threshold-order validation were checked without a headset. Physical directions, latching, extensions, vibration and runtime map application were not tested.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

OpenXRDpadBindingModifierConstructor
# OpenXRDpadBindingModifier
C#
public OpenXRDpadBindingModifier();

Creates a D-pad resource: Threshold=0.6, ThresholdReleased=0.4, CenterRegion=0.1, WedgeAngle=π/2, IsSticky=false, ActionSet=null, empty InputPath and null haptic references. Does not attach the modifier to a profile.

Properties9

ActionSetProperty
# ActionSet
C#
public OpenXRActionSet ActionSet { get; set; }

Set resource targeted by the D-pad, initially null. The setter stores the reference without Changed, even for a new value. The set must exist in the map and be created in the runtime before applying modification. Assignment neither activates it nor adds the modifier to a profile.

CenterRegionProperty
# CenterRegion
C#
public float CenterRegion { get; set; }

Center-region radius in input-value space, initially 0.1. The setter checks inclusive 0…1; valid runtime bounds are narrower, see the introduction. Supply a finite value. Changed is emitted even on repetition.

InputPathProperty
# InputPath
C#
public string InputPath { get; set; }

Full source two-axis input path, initially empty; for example /user/hand/right/input/thumbstick. Neither a D-pad direction subpath nor an action name. The setter stores the string and emits Changed even on repetition; validate path support against the profile/runtime.

IsStickyProperty
# IsSticky
C#
public bool IsSticky { get; set; }

Latches the first activated region until the underlying input is released; initially false. A runtime parameter, not a local direction calculator. The setter emits Changed even on repetition. Controller behavior was not tested in this run.

OffHapticProperty
# OffHaptic
C#
public OpenXRHapticBase OffHaptic { get; set; }

Feedback resource for modified-input deactivation, initially null. The reference is shared; the setter emits Changed even on repetition. null removes the request. Data for a modifier-capable runtime, not an immediate vibration call.

OnHapticProperty
# OnHaptic
C#
public OpenXRHapticBase OnHaptic { get; set; }

Feedback resource for modified-input activation, initially null. The getter returns the same resource; the setter emits Changed even on repetition. null disables this feedback request. Assignment sends no immediate pulse and establishes no device support.

ThresholdProperty
# Threshold
C#
public float Threshold { get; set; }

D-pad activation threshold, initially 0.6. The setter accepts the numeric range 0…1, but full runtime requirements are stricter; see the introduction. Validate finiteness and ordering with ThresholdReleased yourself. Changed is emitted even on repetition.

ThresholdReleasedProperty
# ThresholdReleased
C#
public float ThresholdReleased { get; set; }

D-pad deactivation threshold, initially 0.4. The setter accepts the numeric range 0…1 without checking ordering against Threshold. Validate the runtime contract, finiteness and the threshold pair; Changed is emitted even on repetition.

WedgeAngleProperty
# WedgeAngle
C#
public float WedgeAngle { get; set; }

Region angle in radians, initially π/2. The Inspector displays degrees, but C# setters/getters use radians: pass Mathf.DegToRad(90) for 90°. The setter validates no range and emits Changed even on repetition. See the introduction for valid runtime bounds.

Methods18

GetActionSetOpenXRActionSet
# GetActionSet
C#
public OpenXRActionSet GetActionSet();

The same action-set resource reference, or null; not a runtime handle.

Returns OpenXRActionSet

The same action-set resource reference, or null; not a runtime handle.

GetCenterRegionfloat
# GetCenterRegion
C#
public float GetCenterRegion();

Stored center-region radius in input units, initially 0.1.

Returns float

Stored center-region radius in input units, initially 0.1.

GetInputPathstring
# GetInputPath
C#
public string GetInputPath();

Stored full source-input path, initially empty.

Returns string

Stored full source-input path, initially empty.

GetIsStickybool
# GetIsSticky
C#
public bool GetIsSticky();

Stored region-latching flag, initially false.

Returns bool

Stored region-latching flag, initially false.

GetOffHapticOpenXRHapticBase
# GetOffHaptic
C#
public OpenXRHapticBase GetOffHaptic();

The same deactivation-feedback resource reference, or null.

Returns OpenXRHapticBase

The same deactivation-feedback resource reference, or null.

GetOnHapticOpenXRHapticBase
# GetOnHaptic
C#
public OpenXRHapticBase GetOnHaptic();

The same activation-feedback resource reference, or null.

Returns OpenXRHapticBase

The same activation-feedback resource reference, or null.

GetThresholdfloat
# GetThreshold
C#
public float GetThreshold();

Stored D-pad activation threshold, initially 0.6.

Returns float

Stored D-pad activation threshold, initially 0.6.

GetThresholdReleasedfloat
# GetThresholdReleased
C#
public float GetThresholdReleased();

Stored D-pad deactivation threshold, initially 0.4.

Returns float

Stored D-pad deactivation threshold, initially 0.4.

GetWedgeAnglefloat
# GetWedgeAngle
C#
public float GetWedgeAngle();

Stored angle in radians, initially π/2. Not Inspector degrees.

Returns float

Stored angle in radians, initially π/2. Not Inspector degrees.

SetActionSetvoid
# SetActionSet
C#
public void SetActionSet(OpenXRActionSet actionSet);

Set resource targeted by the D-pad, initially null. The setter stores the reference without Changed, even for a new value. The set must exist in the map and be created in the runtime before applying modification. Assignment neither activates it nor adds the modifier to a profile.

Parameters
NameTypeDefault
actionSetOpenXRActionSet—
actionSet

Map action-set resource targeted by the D-pad. Neither its string name nor a RID.

SetCenterRegionvoid
# SetCenterRegion
C#
public void SetCenterRegion(float centerRegion);

Center-region radius in input-value space, initially 0.1. The setter checks inclusive 0…1; valid runtime bounds are narrower, see the introduction. Supply a finite value. Changed is emitted even on repetition.

Parameters
NameTypeDefault
centerRegionfloat—
centerRegion

Finite center-region radius in input units; observe runtime bounds.

SetInputPathvoid
# SetInputPath
C#
public void SetInputPath(string inputPath);

Full source two-axis input path, initially empty; for example /user/hand/right/input/thumbstick. Neither a D-pad direction subpath nor an action name. The setter stores the string and emits Changed even on repetition; validate path support against the profile/runtime.

Parameters
NameTypeDefault
inputPathstring—
inputPath

Full path of supported two-axis input, such as /user/hand/right/input/thumbstick.

SetIsStickyvoid
# SetIsSticky
C#
public void SetIsSticky(bool isSticky);

Latches the first activated region until the underlying input is released; initially false. A runtime parameter, not a local direction calculator. The setter emits Changed even on repetition. Controller behavior was not tested in this run.

Parameters
NameTypeDefault
isStickybool—
isSticky

true to latch the first region until the underlying input is released.

SetOffHapticvoid
# SetOffHaptic
C#
public void SetOffHaptic(OpenXRHapticBase haptic);

Feedback resource for modified-input deactivation, initially null. The reference is shared; the setter emits Changed even on repetition. null removes the request. Data for a modifier-capable runtime, not an immediate vibration call.

Parameters
NameTypeDefault
hapticOpenXRHapticBase—
haptic

OpenXRHapticBase resource, such as OpenXRHapticVibration, or null to disable this request.

SetOnHapticvoid
# SetOnHaptic
C#
public void SetOnHaptic(OpenXRHapticBase haptic);

Feedback resource for modified-input activation, initially null. The getter returns the same resource; the setter emits Changed even on repetition. null disables this feedback request. Assignment sends no immediate pulse and establishes no device support.

Parameters
NameTypeDefault
hapticOpenXRHapticBase—
haptic

OpenXRHapticBase resource, such as OpenXRHapticVibration, or null to disable this request.

SetThresholdvoid
# SetThreshold
C#
public void SetThreshold(float threshold);

D-pad activation threshold, initially 0.6. The setter accepts the numeric range 0…1, but full runtime requirements are stricter; see the introduction. Validate finiteness and ordering with ThresholdReleased yourself. Changed is emitted even on repetition.

Parameters
NameTypeDefault
thresholdfloat—
threshold

Finite D-pad activation threshold; observe the stricter runtime contract in the introduction.

SetThresholdReleasedvoid
# SetThresholdReleased
C#
public void SetThresholdReleased(float thresholdReleased);

D-pad deactivation threshold, initially 0.4. The setter accepts the numeric range 0…1 without checking ordering against Threshold. Validate the runtime contract, finiteness and the threshold pair; Changed is emitted even on repetition.

Parameters
NameTypeDefault
thresholdReleasedfloat—
thresholdReleased

Finite deactivation threshold, no higher than Threshold; observe the runtime contract.

SetWedgeAnglevoid
# SetWedgeAngle
C#
public void SetWedgeAngle(float wedgeAngle);

Region angle in radians, initially π/2. The Inspector displays degrees, but C# setters/getters use radians: pass Mathf.DegToRad(90) for 90°. The setter validates no range and emits Changed even on repetition. See the introduction for valid runtime bounds.

Parameters
NameTypeDefault
wedgeAnglefloat—
wedgeAngle

Angle in radians. Convert source degrees with Mathf.DegToRad first; see the introduction for valid bounds.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.