News

Introducing Avatar API: The Interoperability Layer for the Virtual Worlds

Avatar API from Ready Player Me is an avatar interoperability layer that improves avatar performance and integration flexibility for virtual worlds, apps, and games

It’s often said that there are no standards in the gaming industry - different engines work with different asset formats, rendering pipelines, and ways to define how 3D content should get rendered and interacted with.

An interoperable avatar for the metaverse needs to be technically compatible, look visually pleasing, and very importantly, consistent across all the games and applications it’s used in.

Games often implement custom character systems with unique constraints, different styles, and custom asset build pipelines. Studios create their custom animation libraries and proprietary character skeletons. Developers have specific and very strict requirements on the performance of the avatars while users expect the avatars to represent themselves or the heroes they want to embody. Hence a default avatar system for the metaverse needs to win the hearts of game developers, designers, and end-users.

While it’s very difficult to create an avatar system, it’s far more difficult to create one which works well for thousands of games with their quirks, which lets users customize their avatars with body shapes, detailed customization options, and continues to remain performant for any gameplay scenario and enables users to seamlessly travel with their wearables across different metaverse applications. All the while the aesthetic representation might change from game to game. The big challenge is establishing the right standards developers are willing to adopt and building the technology that lets 3D avatars fit into a wide spectrum of apps, enabling interoperability.

Developers are conscious of shipping high-quality experiences to their players. An avatar system that doesn’t perform well becomes impractical quickly. Also, many games are social experiences, meaning tens if not hundreds of avatars share virtual spaces together, and performance becomes paramount.

Today, we are launching the Ready Player Me Avatar API, our avatar interoperability layer that improves avatar performance and integration flexibility.

Avatar API's performance improvements

With the launch of the Ready Player Me Avatar API, developers get access to seven controls that help them tune the avatars to fit into their applications:

  • Reduce avatar size and memory consumption by setting an upper limit for the size of textures included in the avatars;
  • Use the mesh level of detail (LOD) option to reduce the triangle count of the avatars;
  • Using the morph targets parameter, you can now decide which facial animation morphs to include on the avatar. Or use none for reduced file size;
  • Reduce file size by compressing avatars with Draco mesh compression;
  • Generate a texture atlas of desired resolution and retrieve single draw call avatars.

In addition, we are introducing two parameters that help you define the pose and hand configuration of the avatars.

Avatar API — simple by design

Developers familiar with our existing API can start using the new features immediately by extending the 3D avatar URLs with the new parameters. As an example, adding ?meshLod=2 to the avatar URL would provide you with an avatar with a reduced poly count.

With those parameters, the avatars can be reduced up to 8x in disk size and up to 3x in GPU memory usage. 

Furthermore, many apps target multiple platforms from desktop, mobile, web, and VR, where they expect to configure the same avatar ID differently dependent on the end-users device. With the Avatar API, it is now possible to use any number of different performance settings whenever requesting the avatars. For example, you can drop texture resolution, use LOD 3 and remove facial animation morphs on mobile while loading LOD 0 with maximum texture resolution on the desktop by simply changing the parameters.

Distance-based LOD systems can also be developed using this API, letting developers display more avatars as more players join their games.

In addition, the Avatar API brings several ease-of-use and other improvements to Ready Player Me. Starting today, you can define in which body type (full- or half-body) the avatar editor is loaded in, get easy access to 2D avatar renders through our Render API and support all PBR channels in texture atlases.

Interoperability features enhanced by the Avatar API

Until today, updates to the avatars exported from Ready Player Me have only occurred in case users used the Ready Player Me editor within the application. Starting today, any changes users make to their avatars get reflected within partner applications without strict user interaction needed.

The avatar creation becomes dynamic, and avatars are assembled just in time when requested. Update your avatar in Ready Player Me Hub, and the next time you load into your favorite game, an updated avatar will be waiting for you.

Zooming into the future of Avatar API

There’s a lot more to an avatar system than just its performance, however. Users expect to represent themselves better with body shapes, weight and height options, granular customization choices, the ability to age the avatars, and more. An avatar system for the metaverse needs to translate avatars and their cosmetics seamlessly between styles allowing identities and wearables of users to carry over from one app to another while the aesthetics of the avatars change.

These are tricky problems to solve as they’re intertwined with an extensive, dynamic, ever-expanding cross-application content library that we, together with our partners, produce.

With the API in place, those problems are easier to tackle, helping us build a more native, in-engine avatar creator that lets avatars be more deeply integrated into the environment of games, provides multiple styles of avatars, improves the diversity through body shapes, including animations, and more.

Conclusion

The continuous developments of this API help make the Ready Player Me avatar creator more flexible and performant for the many types of developers we work with. It’s a necessary backbone for an interoperable avatar system that can respond to vastly different requirements of applications, and different artistic styles, allowing third-party avatars and content to be wearable across the network.

Read more about what’s possible in our docs here. Also, be sure to check what’s new in our Unity and Unreal Engine SDKs.

Become a Partner and add Ready Player Me avatars to your app or game

Excited about new features coming to our platform? We are always looking to help more companies and developers become part of the metaverse.

If you want to integrate our avatars into your app or game, sign up here for free.