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

Was this helpful?

Export as PDF
  1. INTEGRATION
  2. Kinetix SDK
  3. SDK Integration in Unity

User-Generated Emote integration (Unity)

The purpose of this page is to lead you through the integration of the User-Generated Emote feature using the Kinetix SDK API.

Please make sure to read SDK Core Modules activation - Unity first

How to let your players create a User-Generated Emote?

  1. Using Kinetix Core, get the link to the Web Application that will let your players upload or record their video

void Start()
{
    // Don't forget to initialize Kinetix Core!...
    KinetixCore.OnInitialized += OnKinetixInitialized;
    KinetixCore.Initialize(new KinetixCoreConfiguration()
    {
	GameAPIKey = "yourGameAPIKey",
	PlayAutomaticallyAnimationOnAnimators = true
    });
}

void OnKinetixInitialized()
{
    //... Or to connect your user, as the UGE is tied to their account
    KinetixCore.Account.ConnectAccount(myConnectedUserID, () => {
	Debug.Log("Account connected successfully");
	
	// You can subscribe to an event to refresh the link when it is expired 
        // (after 5 minutes or when an UGE has been submitted with the current token)
        KinetixCore.UGC.OnUGCTokenExpired += DisplayUGELink;

        DisplayUGELink();
    }, () => {
	Debug.LogError("There was a problem during account connection. Is the GameAPIKey correct?");
    });
    
    
}

void DisplayUGELink()
{
    // Example on how to get the link
    KinetixCore.UGC.GetUgcUrl((_Url) {
        // Enable your UI (a button somewhere in you GUI?) here and assign it the url to the web app
    });
}

  1. Once in the web application, gamers can either record or upload a video to create their own Emote.

  1. Once the video is uploaded, gamers can trim the portion of video they wish to extract to create their emote

  1. After trimming the video, gamers can give an name to their emote, specify its suitability for a mature audience (avoiding any trolling, sexual or hateful behaviors), and consent to the Terms & Conditions.

  1. Et voilà!

  1. After successfully submitting the Emote, gamers can return to playing the game and wait for the end of the processing of the Emote (average wait time: 5 minutes).

  2. The emote will be available automatically when fetching the user's emotes via

KinetixCore.Metadata.GetUserAnimationMetadatas(Action<AnimationMetadata[]> 
                                               _Callback);

If you want to let your gamers create their own Emotes, you can either use the SDK exposed methods or use our Web API endpoints:

PreviousPhoton FusionNextEmbedding the PWA in your Unity application

Last updated 8 months ago

Was this helpful?

🤩
💻
🕺