reckfellENGINE

OpenXRAnalogThresholdModifier

Analog thresholds and feedback for one binding.

On this page
class OpenXRAnalogThresholdModifierReckfellSharpInherits OpenXRActionBindingModifier

OpenXRAnalogThresholdModifier configures analog-to-boolean conversion on one OpenXRIPBinding. Put it in that binding’s BindingModifiers rather than the profile-level modifier list. The target runtime needs xr/openxr/binding_modifiers/analog_threshold, XR_VALVE_analog_threshold and XR_KHR_binding_modification. Constructing a resource enables no extension.

Defaults are OnThreshold=0.6, OffThreshold=0.4 and null OnHaptic/OffHaptic. For finite values, use 0≤OffThreshold≤OnThreshold≤1; choose strictly lower OffThreshold for hysteresis. The setter checks individual ranges but accepts reversed ordering. That does not make the pair valid for a runtime. See the OpenXR contract.

All four setters emit Changed even for repeated values. Haptic references share resources; null removes the request. Assignment sends no immediate pulse and does not rebuild an attached session.

Defaults, notifications, references and absent ordering validation were checked in the installed engine without a headset. Threshold activation, extension acceptance and physical feedback were not tested. See the action-map guide for map creation and connection order.

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

Constructors1

OpenXRAnalogThresholdModifierConstructor
# OpenXRAnalogThresholdModifier
C#
public OpenXRAnalogThresholdModifier();

Creates an analog-threshold resource: OnThreshold=0.6, OffThreshold=0.4 and both haptic references null. Does not add itself to OpenXRIPBinding or enable extensions.

Properties4

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.

OffThresholdProperty
# OffThreshold
C#
public float OffThreshold { get; set; }

Deactivation threshold, initially 0.4. The setter checks the numeric range 0…1, not OnThreshold≥OffThreshold; validate both values together and their finiteness. Changed is emitted even on repetition. A conversion setting, not current analog input.

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.

OnThresholdProperty
# OnThreshold
C#
public float OnThreshold { get; set; }

Activation threshold, initially 0.6. The setter rejects numbers outside 0…1 and emits Changed even on repetition, but does not validate ordering against OffThreshold or every nonfinite input. Use finite OnThreshold≥OffThreshold, strictly greater for hysteresis. Editing the resource does not rebuild an attached session.

Methods8

GetOffHapticOpenXRHapticBase
# GetOffHaptic
C#
public OpenXRHapticBase GetOffHaptic();

The same deactivation-feedback resource reference, or null.

Returns OpenXRHapticBase

The same deactivation-feedback resource reference, or null.

GetOffThresholdfloat
# GetOffThreshold
C#
public float GetOffThreshold();

Stored deactivation threshold, initially 0.4.

Returns float

Stored deactivation threshold, initially 0.4.

GetOnHapticOpenXRHapticBase
# GetOnHaptic
C#
public OpenXRHapticBase GetOnHaptic();

The same activation-feedback resource reference, or null.

Returns OpenXRHapticBase

The same activation-feedback resource reference, or null.

GetOnThresholdfloat
# GetOnThreshold
C#
public float GetOnThreshold();

Stored activation threshold, initially 0.6; not current input state.

Returns float

Stored activation threshold, initially 0.6; not current input state.

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.

SetOffThresholdvoid
# SetOffThreshold
C#
public void SetOffThreshold(float offThreshold);

Deactivation threshold, initially 0.4. The setter checks the numeric range 0…1, not OnThreshold≥OffThreshold; validate both values together and their finiteness. Changed is emitted even on repetition. A conversion setting, not current analog input.

Parameters
NameTypeDefault
offThresholdfloat—
offThreshold

Finite deactivation threshold in 0…1, no higher than OnThreshold.

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.

SetOnThresholdvoid
# SetOnThreshold
C#
public void SetOnThreshold(float onThreshold);

Activation threshold, initially 0.6. The setter rejects numbers outside 0…1 and emits Changed even on repetition, but does not validate ordering against OffThreshold or every nonfinite input. Use finite OnThreshold≥OffThreshold, strictly greater for hysteresis. Editing the resource does not rebuild an attached session.

Parameters
NameTypeDefault
onThresholdfloat—
onThreshold

Finite activation threshold in 0…1, no lower than OffThreshold.

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.