Avatars
As part of being part of the ODK ecosystem, you get some fairly extensive Avatar management out of the box. There's a few pieces to what's available, that we'll go through here.
What avatars are available?
Currently we've proved avatar implementation for the following collections:
Bored Ape Yacht Club
Meebits
Kodas
Moonbirds
There are also individual avatars meshes available for the following collections:
Mutant Ape Yacht Club
Voyagers (Otherside)
If you log into an experience with an account that has a wallet linked with a relevant token, you'll be able to select that avatar as your in-game character from the Web Browser Avatar tab.
Both the Koda and Moonbirds collections also have unique Animation Blueprints to allow custom animations (beyond the standard Otherside animations set).
More collections will be brought online as the ODK matures.
How are the avatars implemented?
To provide dynamic access to a vast array of dynamic characters, at runtime we download and encode the relevant character meshes from their GLB definitions. This implementation allows us to utilize our Carnival renderer which allows us to scale the number of unique characters in a world at once to 10,000+ !
How is it implemented within the ODK?
Current supported avatar types are tracked within the BPE_ODK_AvatarTypes enum within Unreal.
If you're interested in watching for avatar updates on players you can bind to the BPMC_ODK_AvatarComponent::OnAvatarTypeUpdated event for whenever a user's avatar type changes. This information is available on all players, and replicated in the background. There is also a CurrentAvatarType on the same component which will tell you the current avatar type for that player.
Overriding the player profile avatar
The default behavior is for the in game avatar to reflect the configuration in the player's profile. If you wish to override the player's in-game avatar, all you need do is call BPMC_ODK_AvatarComponent::OverrideAvatarByUrl with the avatar URL you wish to use. You can reset the in-game avatar back to the player profile configuration using BPMC_ODK_AvatarComponent::ClearOverrideAvatar.
Last updated

