Validation / Retake

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");
        });
    }

Last updated

Was this helpful?