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
  • Animation system
  • Emote networking & caching
  • Account management

Was this helpful?

Export as PDF
  1. INTEGRATION
  2. Kinetix SDK

SDK - Core Package

The SDK's Core Package includes all the mandatory technologies and features a game needs to implement and leverage the User-Generated Emote feature at its full potential.

PreviousKinetix SDKNextSDK - Sample scene

Last updated 1 year ago

Was this helpful?

When designing our SDK we focused on developing features that make you save time and allow you to easily integrate the User-Generated Emote feature within your game. Each of the Core Package modules are flexible so they match with any dev environment.

Learn more about the SDK's 3 Core Modules inAnimation system, #smart-networking & Account management.

Animation system

One of the many challenges developers face when integrating emotes or animations in game is to play them on any avatars. It is even more complex when a game or 3D digital world includes different avatars, with eventually different skeletons. At Kinetix, the user-generated emotes are created on Kinetix's Standard Avatar. To play them on your custom avatar, we have developed a proprietary algorithm that transfers any 3D animation (emote) to any 3D humanoid character, and fits with any animator system (Unity, Unreal Engine, and custom animator systems).

When loading a humanoid avatar, Kinetix's Core Package calls the associated user-generated emotes to handle the retargeting. The process consists of downloading the GLB file of the emotes and retargeting them with the registered avatar to generate Legacy AnimationClips that perfectly fit your avatar(s). The retargeting process is optimized to keep a constant frame rate of your application. Each time a new emote is loaded, it is added in the queue of the retargeting module and perform N actions per frame.

To avoid the conflict between generation of humanoid AnimationClip at runtime and the Animator, we developed a proprietary Animation System composed of "KinetixCharacterComponent", "ClipSampler" and "BlendAnimation" scripts. They are automatically added at the GameObject (Unity) / Actor (Unreal Engine) of your animator when you initialize your SDK.

That way, when a player triggers a user-generated emote in-game, our Core Package samples at runtime the pre-generated AnimationClip. It guarantees to always play high-quality emotes with constant level of performance. Once you have registered your animator, (Unity's animator, Unreal Engine's animator or custom animator) this process becomes seamless.

Emote networking & caching

Adding dynamically and playing multiple emotes simultaneously can be very tricky issue: in the vast majority of games, it's not possible to store thousands or millions of user-generated emotes in player's cache or to hardcode the emotes files, which leads to storing emotes on a cloud.

The concept is to cache the Peers ID by registering them via our SDK. A KinetixCharacterComponent is added to local and remote players. Using a simple implementation, you will be able to get the current pose of the local player and apply it to the remote player.

To ensure real-time communication between clients our solution compresses the volume of messages that are shared by only serializing poses from played emotes. This technique is +200 times more lightweight than sharing emotes files, and allows multiple players to play and see user-generated emotes simultaneously.

Account management

Managing and distributing the right content to the right gamer usually takes a lot of time and implies custom developments.

Kinetix's SDK include an Account management solution to fetch user-generated emotes and their data with players while guaranteeing their data privacy. It facilitates content distribution and monetization for game studios / developers while ensuring that players will easily retrieve their user-generated emote in their inventory in-game in a seamless way.

This Account management module also lets you track user-generated emotes usage metrics and optimize emotes distribution in your game accordingly (all metrics accessible from Developer Portal).

Head over to & to learn more and integrate.

Head over to to learn more. Configure the network for your game: - -

🤩
âš™ī¸
Animation System - Unity
Animation System - Unreal Engine
Kinanim (Emote streaming)
Network - Unity SDK
Network - Unreal SDK
retargeting
Kinetix's Animation System
Kinetix's Smart Networking Solution
Kinetix's Account Management