Using AvatarMeshHelper in Unity

I succeeded by manually capturing the avatar skins, and noticing there’s two versions of Unity’s get component; one is plural and captures arrays. :disguised_face:

public void SetPlayer()
{
    // load the medium res avatar, then transfer mesh to Game Creator armature
    Debug.Log("avatar URL is " + rpmURL);

    if (rpmURL.Length > 0)
    {
        AvatarObjectLoader loader = new AvatarObjectLoader();
        loader.LoadAvatar(rpmURL);
        loader.AvatarConfig = config;
        loader.OnCompleted += (sender, args) =>
        {
            lqAvatar = args.Avatar;
            if (lqAvatar != null)
            {
                SkinnedMeshRenderer[] newSkins = gameObject.GetComponentsInChildren<SkinnedMeshRenderer>();
                Animator animator = gameObject.GetComponent<Animator>();
                AvatarMeshHelper.TransferMesh(lqAvatar, newSkins, animator);
                DestroyAvatars();
            } 
        };
    }
}
1 Like