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
  • Validation
  • Retaking an emote

Was this helpful?

Export as PDF
  1. INTEGRATION
  2. Kinetix SDK
  3. SDK Integration in Unity
  4. User-Generated Emote integration (Unity)

Validation / Retake

This page is about a closed beta feature, get in touch with us if you wish to be part of the program and enable the validation flow.

Once the validation flow is activated, created emotes must be validated before appearing in the user's "bag" (KinetixCore.Metadata.GetUserAnimationMetadatas)

Validation

Validating an emote will make it retrievable via the user's account (KinetixCore.Metadata.GetUserAnimationMetadatas)

private void OnProcessValidated(SdkApiProcess _Process)
    {
        KinetixCore.Process.ValidateEmoteProcess(_Process.Uuid.ToString(), (_Process) => {
            Debug.Log("Process validated emote will appear in the bag!");
        }, () => {
            Debug.LogError("Unable to validate the emote");
        });
    }

Previewing the emote

Before validating the emote, you may want to show it to the player:

public void PreviewProcessedEmote()
    {
         KinetixCore.Metadata.GetAnimationMetadataByAnimationIds(currentProcess.Emote.ToString(), (_Metadata) => {
            Debug.Log("Got animation metadata: " + _Metadata.Name);

            KinetixCore.Animation.PlayAnimationOnAvatar(previewAvatarID, _Metadata.Ids.UUID);
        }, () => {
            Debug.LogError("Unable to get animation metadata");
        });
    }

Retaking an emote

If a user is unsatisfied with their emote, you can allow them to replace it with a new emote, invalidating the previous process and restarting the flow from the begining with the old process as a parent.

private void OnProcessRejected(SdkApiProcess _Process)
    {
        KinetixCore.Process.RetakeEmoteProcess(_Process.Uuid.ToString(), (_RetakeUGCUrl) => {
            // Open the PWA with the retake Url
            Application.OpenURL(_RetakeUGCUrl);
        }, () => {
            Debug.LogError("Unable to retake the emote");
        });
    }
PreviousEmbedding the PWA in your Unity applicationNextHow to update Kinetix SDK in Unity?

Last updated 9 months ago

Was this helpful?

🤩
💻
🕺