namespace UnityEngine.XR.Interaction.Toolkit.Inputs.Haptics
{
///
/// An interface that allows for sending haptic impulses to a channel on a device.
///
///
///
public interface IXRHapticImpulseChannel
{
///
/// Sends a haptic impulse on the device if it supports sending a haptic impulse.
///
/// The desired motor amplitude that should be within a [0-1] range.
/// The desired duration of the impulse in seconds.
/// The desired frequency of the impulse in Hz. A value of 0 means to use the default frequency of the device.
/// Returns if successful. Otherwise, returns .
///
/// This method considers sending the haptic impulse a success (and thus returns )
/// if the haptic impulse was successfully sent to the device even if frequency is ignored or not supported by the device.
///
/// Frequency is currently only functional when the OpenXR Plugin (com.unity.xr.openxr) package is installed
/// and the input action is using an input binding to a Haptic Control.
///
bool SendHapticImpulse(float amplitude, float duration, float frequency = 0f);
}
}