Skip to content

Class UManusBlueprintLibrary

ClassList > UManusBlueprintLibrary

Inherits the following classes: UBlueprintFunctionLibrary

Public Static Functions

Type Name
EManusRet AddChainToSkeletonSetup (int64 p_SkeletonSetupIndex, const FManusChainSetup & p_Chain)
add a chain to the skeleton structure
EManusRet AddNodeToSkeletonSetup (int64 p_SkeletonSetupIndex, const FManusNodeSetup & p_Node)
add a node to the skeleton structure
EManusRet AssignTrackerToManusUser (FString & p_TrackerId, int64 p_ManusUserId)
assign a tracker based on its ID to a user based on its ID.
FString ConvertManusIdToString (int64 ManusId)
Convert the given Manus ID to an FString.
EManusRet CreateSkeletonSetup (const FManusSkeletonSetup & p_Skeleton, int64 & p_SkeletonSetupIndex)
create a skeleton structure and receive the skeleton index for later reference.
bool DoesSkeletonHaveHaptics (int64 p_SkeletonId, bool p_Left)
check if a certain skeleton has haptics available
EManusRet GetErgonomics (FManusErgonomicsData & p_Data, int64 p_GloveId)
gets ergonomics data
EManusRet GetFirstHapticDongle (int64 & DongleId)
set the first haptic dongle id in p_DongleId. This may get deprecated soon.
int64 GetGestureId (FString p_Name, TArray< FGestureLandscapeData > p_Gestures)
get gesture id for a given gesture name in the given list of gestures.
void GetGestures (TArray< FGestureLandscapeData > & p_Gestures)
get current registered gestures
int64 GetGloveIdForSkeleton (int64 p_SkeletonId, bool p_Left)
get teh glove id for the skeleton id
EManusRet GetGloveIdOfUser_UsingUserId (int32 UserId, EManusHandType p_HandTypeOfGlove, int64 & p_GloveId)
get glove id of user using user id and handtype
EManusRet GetGloveIdOfUser_UsingUserIndex (int32 UserIndex, EManusHandType p_HandTypeOfGlove, int64 & p_GloveId)
get glove id of user using user index and hand type.
bool GetGloveRotationForSkeletonNode (int64 p_SkeletonId, int p_NodeId, FQuat & p_Rotation)
EManusRet GetHandTrackerData (int p_ManusLiveLinkUserIndex, EManusHandType p_HandTypeOfTracker, FManusTracker & p_Tracker)
Get the latest Tracker data that was received from Manus Core for the Tracker assigned to the given User Index for the hand of the given type.
EManusRet GetIdsOfAvailableGloves (TArray< int64 > & GloveIds)
Retrieves an array containing the glove IDs of all available gloves. These IDs can be used for functions ending in _UsingId, which will only have an effect on the specified glove.
TArray< FString > GetManusCoreIPs ()
get all the Manus Core hosts that can be connected to
EManusRet GetManusUsers (TArray< int64 > & p_Users)
Get all manus user ID's and store a copy of the ID's in p_Users.
FString GetPlayerJoinRequestURL (APlayerController * Controller)
Returns the Player join request URL.
EManusRet GetSkeletonData (int64 SkeletonId, FManusMetaSkeleton & Skeleton)
Get the latest skeleton data that was received from Manus for the skeleton with the given ID.
EManusRet GetTrackerIds (TArray< FString > & p_TrackersIds)
Get All tracker ID's and store a copy of the ID's in p_TrackersIds.
bool IsGesturePastTreshold (int64 p_GestureId, float p_Treshold, int64 p_GloveId)
check if a gesture has reached the treshold value for a glove
EManusRet LoadSkeleton (int64 p_SkeletonIndex, int64 & p_SkeletonId)
load the created skeleton into Manus Core (important or nothing gets animated)
void SetAsClient (bool p_IsClient)
set if this session is as a Client or not
void SetGlovesUsingTrackers (bool p_UseTrackers)
for demo purposes only. set that the gloves use trackers.
void SetManusActive (bool bNewIsActive)
Acticate / deactivate Manus tracking.
void SetManusCoreIP (FString p_ManusIP)
set the Manus Core host address to connect to
EManusRet UnloadSkeleton (int64 p_SkeletonId)
unload the created skeleton from Manus Core
EManusRet VibrateFingers (int64 p_DongleId, EManusHandType HandType, float ThumbPower=1.0f, float IndexPower=1.0f, float MiddlePower=1.0f, float RingPower=1.0f, float PinkyPower=1.0f)
Tell a Manus glove to vibrate its fingers. The first available glove of the given hand type will be used.
EManusRet VibrateFingersForSkeleton (int64 p_SkeletonId, EManusHandType HandType, float ThumbPower=1.0f, float IndexPower=1.0f, float MiddlePower=1.0f, float RingPower=1.0f, float PinkyPower=1.0f)
Tell a Manus glove associated to the given skeleton id to vibrate its fingers.

Public Static Functions Documentation

function AddChainToSkeletonSetup

add a chain to the skeleton structure

static EManusRet UManusBlueprintLibrary::AddChainToSkeletonSetup (
    int64 p_SkeletonSetupIndex,
    const FManusChainSetup & p_Chain
) 

see manusLiveLinkSource.cpp for example on how to setup a skeleton ,its nodes and chains. Manually add a chain to the newly generated skeleton.

Parameters:

  • p_SkeletonSetupIndex The Skeleton index
  • p_Chain The node data

Returns:

If the node was successfuly added.

function AddNodeToSkeletonSetup

add a node to the skeleton structure

static EManusRet UManusBlueprintLibrary::AddNodeToSkeletonSetup (
    int64 p_SkeletonSetupIndex,
    const FManusNodeSetup & p_Node
) 

see manusLiveLinkSource.cpp for example on how to setup a skeleton ,its nodes and chains. after setting up the skeleton you need to add the bone nodes with this function

Parameters:

  • p_SkeletonSetupIndex The Skeleton index
  • p_Node The node data

Returns:

If the node was successfuly added.

function AssignTrackerToManusUser

assign a tracker based on its ID to a user based on its ID.

static EManusRet UManusBlueprintLibrary::AssignTrackerToManusUser (
    FString & p_TrackerId,
    int64 p_ManusUserId
) 

Parameters:

  • p_TrackerId

  • p_ManusUserId

function ConvertManusIdToString

Convert the given Manus ID to an FString.

static FString UManusBlueprintLibrary::ConvertManusIdToString (
    int64 ManusId
) 

Convert the given Manus ID to a string.

Parameters:

  • GloveId The Manus ID that should be converted.

Returns:

The FString containing the converted Manus ID.

function CreateSkeletonSetup

create a skeleton structure and receive the skeleton index for later reference.

static EManusRet UManusBlueprintLibrary::CreateSkeletonSetup (
    const FManusSkeletonSetup & p_Skeleton,
    int64 & p_SkeletonSetupIndex
) 

see manusLiveLinkSource.cpp for example on how to setup a skeleton ,its nodes and chains. first setup the structure for a skeleton and get its index (not id)

Parameters:

  • p_Skeleton The Skeleton Setup data
  • p_SkeletonSetupIndex Output The index of the skeleton

Returns:

If the skeleton was successfuly created.

function DoesSkeletonHaveHaptics

check if a certain skeleton has haptics available

static bool UManusBlueprintLibrary::DoesSkeletonHaveHaptics (
    int64 p_SkeletonId,
    bool p_Left
) 

Parameters:

  • p_SkeletonId
  • p_Left

Returns:

function GetErgonomics

gets ergonomics data

static EManusRet UManusBlueprintLibrary::GetErgonomics (
    FManusErgonomicsData & p_Data,
    int64 p_GloveId
) 

Get the latest skeleton data that was received from Manus Core for the skeleton with the given skeleton ID.

Parameters:

  • p_Data The ergonomics data.
  • p_GloveId The glove id of the ergonomics data we want.

Returns:

success state

function GetFirstHapticDongle

set the first haptic dongle id in p_DongleId. This may get deprecated soon.

static EManusRet UManusBlueprintLibrary::GetFirstHapticDongle (
    int64 & DongleId
) 

small support function for ease of use. returns the first available haptics dongle p1 has a separate haptics dongle. for p2 and up its combined with regular dongle. (p1 haptics have been discontinued. so we will never see those again)

Parameters:

  • DongleId

function GetGestureId

static int64 UManusBlueprintLibrary::GetGestureId (
    FString p_Name,
    TArray< FGestureLandscapeData > p_Gestures
) 

function GetGestures

get current registered gestures

static void UManusBlueprintLibrary::GetGestures (
    TArray< FGestureLandscapeData > & p_Gestures
) 

get the current TrackerId's from Manus Core (if everything is just starting this may be 0 the first second while everything is getting filled in)

function GetGloveIdForSkeleton

get teh glove id for the skeleton id

static int64 UManusBlueprintLibrary::GetGloveIdForSkeleton (
    int64 p_SkeletonId,
    bool p_Left
) 

Parameters:

  • p_SkeletonId
  • p_Left determines if we want left or right glove

Returns:

function GetGloveIdOfUser_UsingUserId

get glove id of user using user id and handtype

static EManusRet UManusBlueprintLibrary::GetGloveIdOfUser_UsingUserId (
    int32 UserId,
    EManusHandType p_HandTypeOfGlove,
    int64 & p_GloveId
) 

Parameters:

  • UserId
  • p_HandTypeOfGlove
  • p_GloveId

Returns:

returncode for success state

function GetGloveIdOfUser_UsingUserIndex

get glove id of user using user index and hand type.

static EManusRet UManusBlueprintLibrary::GetGloveIdOfUser_UsingUserIndex (
    int32 UserIndex,
    EManusHandType p_HandTypeOfGlove,
    int64 & p_GloveId
) 

Parameters:

  • UserIndex
  • p_HandTypeOfGlove
  • p_GloveId

Returns:

returncode for success state

function GetGloveRotationForSkeletonNode

static bool UManusBlueprintLibrary::GetGloveRotationForSkeletonNode (
    int64 p_SkeletonId,
    int p_NodeId,
    FQuat & p_Rotation
) 

function GetHandTrackerData

Get the latest Tracker data that was received from Manus Core for the Tracker assigned to the given User Index for the hand of the given type.

static EManusRet UManusBlueprintLibrary::GetHandTrackerData (
    int p_ManusLiveLinkUserIndex,
    EManusHandType p_HandTypeOfTracker,
    FManusTracker & p_Tracker
) 

Get the latest Tracker data that was received from Manus Core for the Tracker assigned to the given livelinkUser Index for the hand of the given type.

Parameters:

  • ManusLiveLinkUserIndex The index of the Manus Live Link User.
  • HandTypeOfTracker The hand type of the glove.
  • Tracker Output The latest Tracker data.

Returns:

If the Tracker data were successfuly retrieved.

function GetIdsOfAvailableGloves

Retrieves an array containing the glove IDs of all available gloves. These IDs can be used for functions ending in _UsingId, which will only have an effect on the specified glove.

static EManusRet UManusBlueprintLibrary::GetIdsOfAvailableGloves (
    TArray< int64 > & GloveIds
) 

Retrieves an array containing the glove IDs of all available gloves.

Parameters:

  • GloveIds The array of glove IDs.

Returns:

If the function succeeded in getting the glove IDs.

function GetManusCoreIPs

get all the Manus Core hosts that can be connected to

static TArray< FString > UManusBlueprintLibrary::GetManusCoreIPs () 

get all currently detected Manus hosts ip/host addresses

Returns:

TArray of all available Manus Core host addresses.

Returns:

function GetManusUsers

Get all manus user ID's and store a copy of the ID's in p_Users.

static EManusRet UManusBlueprintLibrary::GetManusUsers (
    TArray< int64 > & p_Users
) 

get the current users from Manus Core (if everything is just starting this may be 0 the first second while everything is getting filled in)

Parameters:

  • p_Users

function GetPlayerJoinRequestURL

Returns the Player join request URL.

static FString UManusBlueprintLibrary::GetPlayerJoinRequestURL (
    APlayerController * Controller
) 

Parameters:

  • Controller The Player Controller from which we want the join request URL.

Returns:

The Player join request URL.

function GetSkeletonData

Get the latest skeleton data that was received from Manus for the skeleton with the given ID.

static EManusRet UManusBlueprintLibrary::GetSkeletonData (
    int64 SkeletonId,
    FManusMetaSkeleton & Skeleton
) 

Get the latest skeleton data that was received from Manus Core for the skeleton with the given skeleton ID.

Parameters:

  • SkeletonId The ID of the skeleton to get the data from.
  • Skeleton Output The latest skeleton data for the connected skeleton.

Returns:

If the skeleton data were successfuly retrieved.

function GetTrackerIds

Get All tracker ID's and store a copy of the ID's in p_TrackersIds.

static EManusRet UManusBlueprintLibrary::GetTrackerIds (
    TArray< FString > & p_TrackersIds
) 

get the current TrackerId's from Manus Core (if everything is just starting this may be 0 the first second while everything is getting filled in)

Parameters:

  • p_TrackersIds

function IsGesturePastTreshold

check if a gesture has reached the treshold value for a glove

static bool UManusBlueprintLibrary::IsGesturePastTreshold (
    int64 p_GestureId,
    float p_Treshold,
    int64 p_GloveId
) 

Parameters:

  • p_GestureId
  • p_Treshold a value between 0 and 1.0
  • p_GloveId

Returns:

if a gesture detection goes above the treshold check it will return true

function LoadSkeleton

load the created skeleton into Manus Core (important or nothing gets animated)

static EManusRet UManusBlueprintLibrary::LoadSkeleton (
    int64 p_SkeletonIndex,
    int64 & p_SkeletonId
) 

see manusLiveLinkSource.cpp for example on how to setup a skeleton ,its nodes and chains. after all nodes and chains have been made for the skeleton, you can now load it into Manus Core and receive the skeleton ID.

Parameters:

  • p_SkeletonIndex The temporary skeleton index as defined in the SDK
  • p_SkeletonId output the skeleton id as generated by Manus Core

Returns:

If the skeleton was succesfully loaded.

function SetAsClient

set if this session is as a Client or not

static void UManusBlueprintLibrary::SetAsClient (
    bool p_IsClient
) 

passes the current selected Manus ip/host address for connections

Parameters:

  • p_ManusIP

function SetGlovesUsingTrackers

for demo purposes only. set that the gloves use trackers.

static void UManusBlueprintLibrary::SetGlovesUsingTrackers (
    bool p_UseTrackers
) 

override for demo to let gloves use trackers

Parameters:

  • p_UseTrackers

function SetManusActive

Acticate / deactivate Manus tracking.

static void UManusBlueprintLibrary::SetManusActive (
    bool bNewIsActive
) 

Parameters:

  • bNewIsActive Whether Manus tracking should be active or not.

function SetManusCoreIP

set the Manus Core host address to connect to

static void UManusBlueprintLibrary::SetManusCoreIP (
    FString p_ManusIP
) 

passes the current selected Manus ip/host address for connections

Parameters:

  • p_ManusIP The new Manus Core host address to connect to.
  • p_ManusIP

function UnloadSkeleton

unload the created skeleton from Manus Core

static EManusRet UManusBlueprintLibrary::UnloadSkeleton (
    int64 p_SkeletonId
) 

for cleaning up, you can unload the skeleton

Parameters:

  • p_SkeletonId The Skeleton id

Returns:

If the skeleton was succesfully loaded.

function VibrateFingers

Tell a Manus glove to vibrate its fingers. The first available glove of the given hand type will be used.

static EManusRet UManusBlueprintLibrary::VibrateFingers (
    int64 p_DongleId,
    EManusHandType HandType,
    float ThumbPower=1.0f,
    float IndexPower=1.0f,
    float MiddlePower=1.0f,
    float RingPower=1.0f,
    float PinkyPower=1.0f
) 

Tell a Manus glove to vibrate its fingers. The first available glove of the given hand type attached to the donlge id will be used. for prime 1 the haptics dongle is a separate dongle id then then regular dongle id. for prime 2 and up the haptics dongle is the same as the regular dongle.

Parameters:

  • p_DongleId The haptics dongle id of the glove to look for.
  • HandType The hand type of the glove to look for.
  • ThumbPower The strength of the vibration for the thumb, between 0.0 and 1.0.
  • IndexPower The strength of the vibration for the index, between 0.0 and 1.0.
  • MiddlePower The strength of the vibration for the middle finger, between 0.0 and 1.0.
  • RingPower The strength of the vibration for the ring finger, between 0.0 and 1.0.
  • PinkyPower The strength of the vibration for the pinky finger, between 0.0 and 1.0.

Returns:

If the glove was succesfully told to vibrate.

function VibrateFingersForSkeleton

Tell a Manus glove associated to the given skeleton id to vibrate its fingers.

static EManusRet UManusBlueprintLibrary::VibrateFingersForSkeleton (
    int64 p_SkeletonId,
    EManusHandType HandType,
    float ThumbPower=1.0f,
    float IndexPower=1.0f,
    float MiddlePower=1.0f,
    float RingPower=1.0f,
    float PinkyPower=1.0f
) 

Tell a Manus glove to vibrate its fingers. The first available glove of the given hand type associated to the skeleton id will be used.

Parameters:

  • p_SkeletonId The skeleton id associated to the glove to look for.
  • HandType The hand type of the glove to look for.
  • ThumbPower The strength of the vibration for the thumb, between 0.0 and 1.0.
  • IndexPower The strength of the vibration for the index, between 0.0 and 1.0.
  • MiddlePower The strength of the vibration for the middle finger, between 0.0 and 1.0.
  • RingPower The strength of the vibration for the ring finger, between 0.0 and 1.0.
  • PinkyPower The strength of the vibration for the pinky finger, between 0.0 and 1.0.

Returns:

If the glove was succesfully told to vibrate.


The documentation for this class was generated from the following file api/Unreal/Plugins/Manus/Source/Manus/Public/ManusBlueprintLibrary.h