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

Last updated