fix inconsistent blueprint ufunction category paths in nova and nova2 Kismet libraries

This commit is contained in:
Mamadou Babaei
2026-05-11 22:26:08 +02:00
parent e6156463a3
commit f4bfba18f7
3 changed files with 28 additions and 22 deletions
+6
View File
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Fixed
- Fix inconsistent Unreal Engine Blueprint `UFUNCTION` category paths in `Nova` and `Nova 2` Kismet libraries.
## [2.8.0] - 2026-02-24 ## [2.8.0] - 2026-02-24
This minor release introduces high-level haptics and hand-tracking components, simplifies OpenXR integration around `FXRHandTrackingState`, and removes legacy `FXRMotionControllerData` APIs. It also includes ABI-breaking changes, Unreal Engine deprecations, documentation expansions, and various internal improvements. This minor release introduces high-level haptics and hand-tracking components, simplifies OpenXR integration around `FXRHandTrackingState`, and removes legacy `FXRMotionControllerData` APIs. It also includes ABI-breaking changes, Unreal Engine deprecations, documentation expansions, and various internal improvements.
@@ -268,50 +268,50 @@ public:
/* /*
* Retrieve the calibration status of this Nova 2.0 Glove. * Retrieve the calibration status of this Nova 2.0 Glove.
*/ */
UFUNCTION(BlueprintPure, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static ESGHapticGloveCalibrationState GetCalibrationState(const USGNova2Glove* Nova2Glove); static ESGHapticGloveCalibrationState GetCalibrationState(const USGNova2Glove* Nova2Glove);
/* /*
* Completes sensor Normalization on the Nova 2.0's end. * Completes sensor Normalization on the Nova 2.0's end.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static void EndCalibration(UPARAM(ref) USGNova2Glove* Nova2Glove); static void EndCalibration(UPARAM(ref) USGNova2Glove* Nova2Glove);
/* /*
* Completes sensor Normalization on the Nova 2.0's end. * Completes sensor Normalization on the Nova 2.0's end.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static void ResetCalibration(UPARAM(ref) USGNova2Glove* Nova2Glove); static void ResetCalibration(UPARAM(ref) USGNova2Glove* Nova2Glove);
public: public:
/* /*
* Stop all haptic feedback effects playing on this device. * Stop all haptic feedback effects playing on this device.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static void StopHaptics(UPARAM(ref) USGNova2Glove* Nova2Glove); static void StopHaptics(UPARAM(ref) USGNova2Glove* Nova2Glove);
/** /**
* Stop only all vibrotactile feedback. * Stop only all vibrotactile feedback.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static void StopVibrations(UPARAM(ref) USGNova2Glove* Nova2Glove); static void StopVibrations(UPARAM(ref) USGNova2Glove* Nova2Glove);
/** /**
* Flush all streaming haptic effects on the different fingers to the Nova 2.0 Glove. * Flush all streaming haptic effects on the different fingers to the Nova 2.0 Glove.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | SG | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Nova 2 Glove")
static bool SendHaptics(UPARAM(ref) USGNova2Glove* Nova2Glove); static bool SendHaptics(UPARAM(ref) USGNova2Glove* Nova2Glove);
/** /**
* Returns true if this Glove supports the chosen haptic location. * Returns true if this Glove supports the chosen haptic location.
*/ */
UFUNCTION(BlueprintPure, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool SupportsCustomWaveform(const USGNova2Glove* Nova2Glove, ESGHapticLocation AtLocation); static bool SupportsCustomWaveform(const USGNova2Glove* Nova2Glove, ESGHapticLocation AtLocation);
/** /**
* Send a custom waveform to the Nova 2.0. * Send a custom waveform to the Nova 2.0.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool SendCustomWaveform(UPARAM(ref) USGNova2Glove* Nova2Glove, static bool SendCustomWaveform(UPARAM(ref) USGNova2Glove* Nova2Glove,
USGCustomWaveform* OutWaveform, ESGHapticLocation Location); USGCustomWaveform* OutWaveform, ESGHapticLocation Location);
@@ -320,13 +320,13 @@ public:
* *
* @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0. * @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool QueueForceFeedbackLevels(UPARAM(ref) USGNova2Glove* Nova2Glove, const TArray<float>& Levels01); static bool QueueForceFeedbackLevels(UPARAM(ref) USGNova2Glove* Nova2Glove, const TArray<float>& Levels01);
/** /**
* Set the Force-Feedback value of a particular finger to a specific level. * Set the Force-Feedback value of a particular finger to a specific level.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool QueueForceFeedbackLevel(UPARAM(ref) USGNova2Glove* Nova2Glove, int32 Finger, float Level01); static bool QueueForceFeedbackLevel(UPARAM(ref) USGNova2Glove* Nova2Glove, int32 Finger, float Level01);
/** /**
@@ -334,14 +334,14 @@ public:
* *
* @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0. * @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool QueueVibroLevels(UPARAM(ref) USGNova2Glove* Nova2Glove, const TArray<float>& Amplitudes); static bool QueueVibroLevels(UPARAM(ref) USGNova2Glove* Nova2Glove, const TArray<float>& Amplitudes);
/** /**
* Queue a command to set the (continuous) vibration level at a specific location to a set amplitude. This is to * Queue a command to set the (continuous) vibration level at a specific location to a set amplitude. This is to
* support backwards compatibility for older plugins. Use of Customwaveforms is encouraged. * support backwards compatibility for older plugins. Use of Customwaveforms is encouraged.
*/ */
UFUNCTION(BlueprintCallable, Category="Nova2Glove | Core | Nova | Nova 2 Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool QueueVibroLevel(UPARAM(ref) USGNova2Glove* Nova2Glove, ESGHapticLocation Location, float Level01); static bool QueueVibroLevel(UPARAM(ref) USGNova2Glove* Nova2Glove, ESGHapticLocation Location, float Level01);
/** /**
@@ -288,32 +288,32 @@ public:
/* /*
* Retrieve the calibration status of this Nova Glove. * Retrieve the calibration status of this Nova Glove.
*/ */
UFUNCTION(BlueprintPure, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove")
static ESGHapticGloveCalibrationState GetCalibrationState(const USGNovaGlove* NovaGlove); static ESGHapticGloveCalibrationState GetCalibrationState(const USGNovaGlove* NovaGlove);
/* /*
* Completes sensor Normalization on the Nova's end. * Completes sensor Normalization on the Nova's end.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static void EndCalibration(UPARAM(ref) USGNovaGlove* NovaGlove); static void EndCalibration(UPARAM(ref) USGNovaGlove* NovaGlove);
/* /*
* Completes sensor Normalization on the Nova's end. * Completes sensor Normalization on the Nova's end.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static void ResetCalibration(UPARAM(ref) USGNovaGlove* NovaGlove); static void ResetCalibration(UPARAM(ref) USGNovaGlove* NovaGlove);
public: public:
/* /*
* Stop all haptic feedback effects playing on this device. * Stop all haptic feedback effects playing on this device.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static void StopHaptics(UPARAM(ref) USGNovaGlove* NovaGlove); static void StopHaptics(UPARAM(ref) USGNovaGlove* NovaGlove);
/** /**
* Stop only all vibrotactile feedback. * Stop only all vibrotactile feedback.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static void StopVibrations(UPARAM(ref) USGNovaGlove* NovaGlove); static void StopVibrations(UPARAM(ref) USGNovaGlove* NovaGlove);
/** /**
@@ -324,19 +324,19 @@ public:
* *
* @remarks Generic function across any Haptic Interface in SGCore. * @remarks Generic function across any Haptic Interface in SGCore.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | SG | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Nova Glove")
static bool SendHaptics(UPARAM(ref) USGNovaGlove* NovaGlove); static bool SendHaptics(UPARAM(ref) USGNovaGlove* NovaGlove);
/** /**
* Returns true if this Glove supports the chosen haptic location. * Returns true if this Glove supports the chosen haptic location.
*/ */
UFUNCTION(BlueprintPure, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Nova | Nova Glove")
static bool SupportsCustomWaveform(const USGNovaGlove* NovaGlove, ESGHapticLocation AtLocation); static bool SupportsCustomWaveform(const USGNovaGlove* NovaGlove, ESGHapticLocation AtLocation);
/** /**
* Send a custom waveform to the Nova. * Send a custom waveform to the Nova.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static bool SendCustomWaveform(UPARAM(ref) USGNovaGlove* NovaGlove, static bool SendCustomWaveform(UPARAM(ref) USGNovaGlove* NovaGlove,
USGCustomWaveform* OutWaveform, ESGHapticLocation Location); USGCustomWaveform* OutWaveform, ESGHapticLocation Location);
@@ -345,13 +345,13 @@ public:
* *
* @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0. * @remarks Devices that 'only' have on/off FFB will treat any value > 0.0 as 1.0.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static bool QueueForceFeedbackLevels(UPARAM(ref) USGNovaGlove* NovaGlove, const TArray<float>& Levels01); static bool QueueForceFeedbackLevels(UPARAM(ref) USGNovaGlove* NovaGlove, const TArray<float>& Levels01);
/** /**
* Set the Force-Feedback value of a particular finger to a specific level. * Set the Force-Feedback value of a particular finger to a specific level.
*/ */
UFUNCTION(BlueprintCallable, Category="NovaGlove | Core | Nova | Nova Glove") UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static bool QueueForceFeedbackLevel(UPARAM(ref) USGNovaGlove* NovaGlove, int32 Finger, float Level01); static bool QueueForceFeedbackLevel(UPARAM(ref) USGNovaGlove* NovaGlove, int32 Finger, float Level01);
/** /**