Load Avatars

Load 3D and 2D avatars into your Unreal Engine project.

In this guide, you learn how to load avatars into your Unreal Engine project.

Load 3D avatars

The Ready Player Me Unreal Engine plugin comes with sample actor blueprints BP_RPM_SimpleActor and BP_RPM_Character, which demonstrates how to load the Ready Player Me avatars at runtime. You can refer to those sample actors when implementing your actor.

Similar to these samples you can set your actor to load the Ready Player Me avatars at runtime. To do so, make sure that your actor blueprint has at least one SkeletalMeshComponet, then add a ReadyPlayerMeComponent to your actor.

Skeletal Mesh Component

  1. Select the SkeletalMeshComponent. The SkeletalMeshComponent is required and holds all the skeletal mesh data once the avatar has been loaded.

  2. Examine its Details and under the Animation heading, find the AnimClass property. Its default value is BP_RPM_Animation. You need to set this to the Animation Blueprint you want to use for the character.

  3. In the same details panel search for the Phisycs Asset Override parameter and set it to the RPM_Mixamo_PhysicsAsset. This will prevent issues with the shadows on the loaded avatar.

Ready Player Me Component

The ReadyPlayerMeComponent is an ActorComponent that you can add to any existing actor.

  1. Select the ReadyPlayerMe Component. The ReadyPlayerMeComponent has all the functionality required for loading a Ready Player Me avatar with a single function call.

  2. Examine its details under the Ready Player Me heading. Find the Url and Target Skeleton properties.

  • Url contains the Ready Player Me Avatar Url or ID of an avatar created with the Avatar Creator.

  • Target Skeleton defines the skeleton that the loaded character will use with skinning and animation.

The ReadyPlayerMeComponent requires a SkeletalMeshComponent to work properly. If you have more than one SkeletalMeshComponent in your actor, you need to explicitly set the SkeletalMesh property of the ReadyPlayerMeComponet before loading an avatar.

If you want to create or use your own target skeleton, it must perfectly match the skeleton that you are loading from the URL. We do not recommend that you change this property.

Loading the avatar

You can use two different methods for loading an avatar using the ReadyPlayerMeComponent: LoadAvatar or LoadNewAvatar

  • LoadAvatar only requires a reference to the ReadyPlayerMe Component you wish to run it on. This function assumes that you have already set the Url to use for loading the avatar model.

  • LoadNewAvatar has an additional Url parameter so that you can update the ReadyPlayerMeComponent's Url variable before loading the avatar.

Both of these functions have success and failure callback events that you can subscribe to.

Load 2D avatars

You can load a 2D render of your avatar using the LoadAvatarRenderAsync async action node which obtains a rendered image of your avatar via the Render API.

The URL of the avatar needs to be provided for rendering the avatar.

void Load(const FString& Url, const FRpmAvatarRenderProperties& Properties, const TMap<EAvatarMorphTarget, float>& BlendShapes, const FDownloadImageCompleted& OnCompleted, const FDownloadImageFailed& OnFailed)

Avatar Render Properties

You customize the look and quality of the rendered image by customizing AvatarRenderProperties.

Last updated