Links

Custom Animation System

SDK Integration if you are using your own custom animation system.
We still deliver our Agnostic Network solution so you'll be notified through an event when an animation is played and call a function to get the retargeted animation and play it in your system.

Local Player :

To register/unregister your local player avatars :
KinetixCore.Animation.RegisterLocalPlayerCustom(Avatar _Avatar,
Transform _RootTransform,
EExportType _ExportType)
KinetixCore.Animation.UnregisterLocalPlayer()
Get callbacks to get informed when an animation is played on local player :
event Action<AnimationIds> KinetixCore.Animation.OnPlayedAnimationLocalPlayer
To retrieve AnimationClip Legacy to and play it in your system for your local player :
KinetixCore.Animation.GetRetargetedAnimationClipLegacyForLocalPlayer(AnimationIds _AnimationIds,
Action<AnimationClip> _OnSuccess,
Action _OnFailure = null)
Learn more about our Animation functions in KinetixCore.Animation

Remote Peers :

To register/unregister remote peer avatars :
KinetixCore.Network.RegisterRemotePeerCustom(string _RemotePeerUUID,
Transform _RootTransform,
EExportType _ExportType)
KinetixCore.Network.UnregisterRemotePeer(string _RemotePeerUUID)
KinetixCore.Network.UnregisterAllRemotePeers()
Get callbacks to get informed when an animation is played on remote peer :
event Action<string, AnimationIds> KinetixCore.Network.OnPlayedAnimationRemotePeer
To retrieve AnimationClip Legacy to and play it in your system for remote peer :
KinetixCore.Network.GetRetargetedAnimationClipLegacyForRemotePeer(string _RemotePeerUUID,
string _EmoteID,
Action<AnimationClip> _OnSuccess,
Action _OnFailure = null)
Learn more about our Network functions in KinetixCore.Network

NPC or other local avatars :

In addition to the local player or remote players, you can also register other avatars (to animate your npcs or shop avatars for example)
The registering of the avatar returns a string representing the unique Id (UUID) to pass as parameter to the subsequent functions.
string PlayerUUID = KinetixCore.Animation.RegisterLocalPlayerCustom(Avatar _Avatar, Transform _RootTransform, EExportType _ExportType)
You then load the animations for the avatar UUID
KinetixCore.Animation.LoadAvatarAnimation(string _PlayerUUID, string _EmoteID, string _LockId, Action _OnSuccess = null)
And play the animation with
KinetixCore.Animation.PlayAnimationOnAvatar(string _PlayerUUID, string _EmoteID)