Wave Tracker Blueprints¶
Blueprint Types¶
The Tracker interface uses blueprint types as below.
EWaveVRTrackerId¶
UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerId : uint8
{
Tracker0 = 0, //WVR_TrackerId.WVR_TrackerId_0
Tracker1 = 1, //WVR_TrackerId.WVR_TrackerId_1
Tracker2 = 2, //WVR_TrackerId.WVR_TrackerId_2,
Tracker3 = 3, //WVR_TrackerId.WVR_TrackerId_3,
Tracker4 = 4, //WVR_TrackerId.WVR_TrackerId_4,
Tracker5 = 5, //WVR_TrackerId.WVR_TrackerId_5,
Tracker6 = 6, //WVR_TrackerId.WVR_TrackerId_6,
Tracker7 = 7, //WVR_TrackerId.WVR_TrackerId_7,
Tracker8 = 8, //WVR_TrackerId.WVR_TrackerId_8,
};
EWaveVRTrackerRole¶
UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerRole : uint8
{
Undefined = 0,
Standalone = 1,
Pair1_Right = 2,
Pair1_Left = 3,
Pair2_Right = 4,
Pair2_Left = 5,
};
EWaveVRTrackerButton¶
UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerButton : uint8
{
System = 0,
Menu = 1,
A = 10,
B = 11,
X = 12,
Y = 13,
Trigger = 17,
};
EWaveVRTrackerStatus¶
UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerStatus : uint8
{
// Initial, can call Start API in this state.
NOT_START,
START_FAILURE,
// Processing, should NOT call API in this state.
STARTING,
STOPING,
// Running, can call Stop API in this state.
AVAILABLE,
// Do nothing.
UNSUPPORT
};
EWVR_AnalogType¶
UENUM(BlueprintType, Category = "WaveVR")
enum class EWVR_AnalogType : uint8
{
None = 0,
XY = 1,
XOnly = 2,
};
Blueprint Function Library¶
You can see the Tracker functions by typing “Wave Tracker” in the blueprint.

GetTrackerRole¶
Retrieves a Tracker’s role. Refers to EWaveVRTrackerRole.
EWaveVRTrackerRole GetTrackerRole(EWaveVRTrackerId trackerId)
IsTrackerPoseValid¶
Checks if the tracker’s pose is valid.
bool IsTrackerPoseValid(EWaveVRTrackerId trackerId)
GetTrackerPosition¶
Retrieves a Tracker’s position.
bool GetTrackerPosition(EWaveVRTrackerId trackerId, FVector& outPosition) // returns true for valid position.
GetTrackerRotation¶
Retrieves a Tracker’s orientation.
bool GetTrackerRotation(EWaveVRTrackerId trackerId, FQuat& outOrientation) // returns true for valid rotation.
GetTrackerAnalogType¶
Retrieves a Tracker button’s analog type.
EWVR_AnalogType GetTrackerAnalogType(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)
IsTrackerButtonPressed¶
Checks if a Tracker button is pressed.
bool IsTrackerButtonPressed(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)
IsTrackerButtonTouched¶
Checks if a Tracker button is touched.
bool IsTrackerButtonTouched(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)
GetTrackerButtonAxis¶
Retrieves a Tracker button’s axis.
FVector2D GetTrackerButtonAxis(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)
GetTrackerBatteryLife¶
Retrieves a Tracker’s battery life in float (0~1) that 0 for 0% and 1 for 100%.
float GetTrackerBatteryLife(EWaveVRTrackerId trackerId)
TriggerTrackerVibration¶
Triggers a Tracker’s haptic pulse. Default duration is 0.5s. Set frequency to 0 to use system default value. Default amplitude (0~1) is 0.5f.
bool TriggerTrackerVibration(EWaveVRTrackerId trackerId, int durationMicroSec = 500000, int frequency = 0, float amplitude = 0.5f)
GetTrackerExtendedData¶
Retrieves a Tracker’s extended data.
TArray<int> GetTrackerExtendedData(EWaveVRTrackerId trackerId, int &validSize)