Kinetix Documentation
Website
  • 🖐ïļWelcome
  • 🕚About Kinetix
  • 🖌ïļUser-Generated Emote
    • ðŸĪ–Video-to-animation AI
    • ðŸĪļKinetix Emote Standards
    • ðŸĶīRetargeting
    • 🏂Kinanim (Emote streaming)
    • 🖊ïļTry the User-Generated Emote feature
  • INTEGRATION
    • ðŸĪ·SDK or API: what to choose
    • ðŸĪĐKinetix SDK
      • ⚙ïļSDK - Core Package
      • ðŸ§ĐSDK - Sample scene
      • 🧑‍ðŸ’ŧTested & approved Game Engines for the SDK
      • ðŸ’ŧSDK Integration in Unity
        • ⮇ïļSet-up Unity & Import the SDK
          • 🔑Get your Game authentification API Key
          • ⚙ïļSetup your Unity environment
          • 🔧Install the Kinetix SDK in Unity
          • âŒĻïļSDK Initialization - Unity
        • ⚡Quickstart - Unity SDK
        • ðŸĶ‹SDK Core Modules activation - Unity
          • 🔐Account Management in Unity
          • 💃Animation System - Unity
            • ðŸŽĒUnity's Animator System
            • ðŸŽĻCustom Animation System
            • ðŸŒģRoot Motion
              • RootMotion + NavMeshAgent
            • 🎞ïļFrame Controller
            • 💊IK Controller
            • ðŸŦĨAvatar Mask
          • ðŸ“ķNetwork - Unity SDK
            • Photon PUN
            • Photon Fusion
        • 🕚User-Generated Emote integration (Unity)
          • Embedding the PWA in your Unity application
          • Validation / Retake
        • 🚧How to update Kinetix SDK in Unity?
        • 📕SDK API Reference - Unity
          • KinetixCore
          • KinetixCore.Account
          • KinetixCore.Animation
          • KinetixCore.Metadata
          • KinetixCore.Network
          • KinetixCore.UGC
        • 📂Unity SDK Changelog
      • ðŸ•đïļSDK Integration in Unreal Engine
        • ⮇ïļSet-up Unreal Engine & Download the SDK
          • 🔑Get your Game authentification API Key
          • ⚙ïļSet up your Unreal Engine environment
          • 🔧Install the Kinetix SDK in Unreal
          • âŒĻïļUE SDK Core Package Initialization
        • ⚡Quick Start
        • ðŸĶ‹SDK Core Modules activation - Unreal
          • 🔐Account Management - UE
          • 💃Animation System - UE
            • Local player system in Unreal Engine
            • Avatar system in Unreal Engine
            • Without uploading an avatar (deprecated)
              • Animation in a Third Person Template
              • Animation in an existing project
          • ðŸ“ķNetwork - UE SDK
        • 🕚User-Generated Emote integration (UE)
        • 📕SDK API Reference - UE
          • KinetixCore
          • KinetixCore.Account
          • KinetixCore.Animation
          • KinetixCore.Metadata
          • KinetixCore.Network
        • ⮆ïļUpdating from 0.3 to 0.4
        • 📂UE SDK Changelog
    • 😍Kinetix API
      • 🔑Get your Authentification API key
      • 🔌API routes
      • 🊝API Webhooks
      • 🏓Possible Return Codes
  • Management
    • 🚊Developer Portal
      • ðŸ‘―Avatar Upload
      • ðŸ‘ŪUGC Moderation
    • 🖌ïļUGE: Guides & Best Practices
      • 📐User-Generated Emote specifications
      • 👌Video recording best practices
      • ðŸ‘ŧUser-Generate Emote Use Cases
  • SUPPORT
    • 📎Bugs reports & features requests
    • ❓FAQ
      • FAQ: General questions
      • FAQ: Unity SDK
      • FAQ: Unreal Engine SDK
    • ðŸĪ•Troubleshooting
    • 📚Glossary of terms
Powered by GitBook
On this page
  • Local Player
  • Remote Peers
  • NPC or other local avatars

Was this helpful?

Export as PDF
  1. INTEGRATION
  2. Kinetix SDK
  3. SDK Integration in Unity
  4. SDK Core Modules activation - Unity
  5. Animation System - Unity

Custom Animation System

Learn how to seamlessly integrate the Kinetix SDK with your own Animation System for Unity.

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)
PreviousUnity's Animator SystemNextRoot Motion

Last updated 1 year ago

Was this helpful?

ðŸĪĐ
ðŸ’ŧ
ðŸĶ‹
💃
ðŸŽĻ