Load Avatars
Load 3D and 2D avatars into your Unity Scene.
In this guide, you learn how to load avatars into your Unity Scenes.
You can load full-body and half-body avatars into your Unity game. For both types of avatars you can follow the same procedure.
- 1.Create an instance of the
AvatarObjectLoader
. - 2.Call the
LoadAvatar()
method with an avatar URL. The example uses a URL from the demo Avatar Creator https://demo.readyplayer.me. You will later learn how to retrieve an Avatar URL directly in your game.
var avatarUrl = "https://api.readyplayer.me/v1/avatars/632d65e99b4c6a4352a9b8db.glb";
AvatarObjectLoader avatarLoader = new AvatarObjectLoader();
avatarLoader.LoadAvatar(AvatarURL);
3. Receive the GameObject of the avatar in
CompletionEventArgs
of the OnCompleted
callback.See the code below for the completed example.
See the API Reference for a complete list of callbacks of the
AvatarLoader
. You can also find the code below in the
Assets\Plugins\Ready Player Me\Examples\Runtime Example\RuntimeExample
Scene and script.using ReadyPlayerMe.AvatarLoader;
using ReadyPlayerMe.Core;
using UnityEngine;
namespace ReadyPlayerMe
{
public class AvatarLoadingExample : MonoBehaviour
{
//Demo Avatar URL
[SerializeField]
private string avatarUrl = "https://api.readyplayer.me/v1/avatars/632d65e99b4c6a4352a9b8db.glb";
private GameObject avatar;
private void Start()
{
ApplicationData.Log();
var avatarLoader = new AvatarObjectLoader();
avatarLoader.OnCompleted += (_, args) =>
{
avatar = args.Avatar;
AvatarAnimatorHelper.SetupAnimator(args.Metadata.BodyType, avatar);
};
avatarLoader.LoadAvatar(avatarUrl);
}
private void OnDestroy()
{
if (avatar != null) Destroy(avatar);
}
}
}
You can load a 2D render of your avatar using the
AvatarRenderLoader
class which obtains a rendered image of your avatar via the Render API.- 1.Create an instance of
AvatarRenderLoader
. - 2.Call the
LoadRender()
method, passing the required arguments.
AvatarRenderLoader avatarRenderLoader = new AvatarRenderLoader();
avatarRenderLoader.LoadRender(url, scene, blendShapeMesh, blendShapes);
See the code below for a complete example.
See the AvatarRenderLoader API Reference to learn more about
AvatarRenderLoader
and the function arguments.You can find a complete example usage of this code in the
Assets/Samples/Ready Player Me Avatar Loader/1.0.0/AvatarLoading/AvatarLoadingExample
scene and script.The easiest way to save avatars in your project and package them with your build is using the Avatar Loader.
The Avatar Loader lets you download and save an avatar in your project in the Unity Editor.
- 1.Launch the Avatar Loader window by choosing Ready Player Me > Avatar Loader.
- 2.Paste your avatar URL (or shortcode) into the Avatar URL or Shortcode field.
- 3.Optionally, check Use Eye Animations. This will add a component to the avatar GameObject.
- 4.Optionally, check Voice To Animation. This will add a component to the avatar GameObject.
- 5.Click Load Avatar into the Current Scene.
- 6.Your avatar loads into the current Scene at position (0,0,0).
- 7.The avatar prefab is stored in a new folder (name = avatar ID) in
Assets > Avatars
.
Last modified 1mo ago