Class IUltraleapTrackingPlugin

class IUltraleapTrackingPlugin : public IInputDeviceModule

The public interface to this module. In most cases, this interface is only public to sibling modules within this plugin.

Subclassed by FUltraleapTrackingPlugin

Public Functions

inline virtual void AddEventDelegate(const ULeapComponent *EventDelegate)

Attach an event delegate to the leap input device loop

inline virtual void RemoveEventDelegate(const ULeapComponent *EventDelegate)

Remove an event delegate from the leap input device loop

inline virtual void SetOptions(const FLeapOptions &InOptions)

Set Leap Options such as time warp, interpolation and tracking modes

inline virtual FLeapOptions GetOptions()

Get the currently set Leap Options

virtual void AreHandsVisible(bool &LeftHandIsVisible, bool &RightHandIsVisible) = 0

Convenience function to determine hand visibility

virtual void GetLatestFrameData(FLeapFrameData &OutData) = 0

Polling method for latest frame data

virtual void SetLeapPolicy(ELeapPolicyFlag Flag, bool Enable) = 0

Set a Leap Policy, such as image streaming or optimization type

virtual void GetAttachedDevices(TArray<FString> &Devices) = 0

List the attached (plugged in) devices

virtual void ShutdownLeap() = 0

Force shutdown leap, do not call unless you have a very specfic need

Public Static Functions

static inline IUltraleapTrackingPlugin &Get()

Singleton-like access to this module’s interface. This is just for convenience! Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.


Returns singleton instance, loading the module on demand if needed

static inline bool IsAvailable()

Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true.


True if the module is loaded and ready to use