Ready Player Me and the Challenges of 3D Interoperability
If the metaverse is to become a reality, then avatars will be a crucial building block for developers. Even better if those avatars are interoperable — meaning, able to be used across different virtual worlds and online games. One company early in the race to provide a platform for interoperable avatar technology is Ready Player Me (RPM), which is already being used by more than 3,000 developers — but not without technical challenges.
I spoke to the co-founder and CTO of RPM, Rainer Selvet, who is based in Estonia. Our discussion took place just before RPM announced a $56M Series B funding round, led by the prestigious Silicon Valley VC firm Andreessen Horowitz (a16z).
1/ excited to share that @a16z is leading the $56M Series B in @readyplayerme – a leading platform for interoperable avatars, used by over 3k developers across web2 & web3 virtual worlds. i’m honored to join the board and team up with @cdixon 🔥
— Jon Lai (@Tocelot) August 23, 2022
There are two components to RPM. Firstly, the Avatar Creator product, a web-based avatar builder that anyone can use. Secondly, the Ready Player Me SDK (software development kit) — which developers can use to integrate RPM, including the Avatar Creator, into their own applications. The SDK comes in a variety of flavors, including support for the two leading gaming developer platforms: Unity and Unreal Engine.
Web for Frontend Rendering
I’ve used Avatar Creator via the RPM website a few times, to build avatars for 3D spaces like Mozilla Hubs and VR Chat. I found the interface to be very slick and it was easy for me to create the avatars. So I asked Selvet what web technologies were used to build it.
He replied that both on their website “or when developers integrate RPM as an iframe or a WebView into their applications,” they use a combination of React and Three.js for frontend rendering.
“Then in addition to that,” he continued, “it’s also important for the avatars [to be] not just displayed inside a WebView, but exported in a way that they’re interoperable and loadable within game engines and different partner applications. And that’s a proprietary stack we have on the server side.”
So how does a Unity or Unreal Engine developer typically use RPM? One option, Selvet replied, is to use WebView to embed Avatar Creator within the application. For example, in a Unity mobile game, a developer might open Ready Player Me inside Unity and create a character. The URL of the character is then passed into the Unity application, for the end user. “The SDK is capable of loading that avatar, playing back animations, and essentially setting the technicalities of the avatar within the engine,” said Selvet.
Legs or No Legs?
A common pain point for avatar technology at this early stage of metaverse development is the lack of standardization. The Mozilla Hubs avatar I created in RPM is totally different to the VR Chat avatar (the former doesn’t have legs, for a start). So I asked Selvet how RPM deals with differing technology requirements for avatars?
“First of all,” he said, “in order to make avatars that are workable across 3,200 applications, the developers who use RPM need to adopt a particular standard that we provide.” However, he admitted that this has been “one of the biggest challenges” so far for developers, because “nearly all of them have some quirk” in their application that is different from other apps.
To get around this, RPM built its system to allow developers “the capability of defining exactly which parameters, or which technical specification parameter, is most suitable for their application,” said Selvet. For instance, it’s common for avatars in 2022 to have no legs (Meta’s Horizon is similar to Mozilla Hubs in that respect). So that might be a parameter a developer chooses to enable for their app.
Selvet added that “we’re also launching, very shortly, a new API that gives even more control to developers” in managing parameters and specifications.
Platform Support Also a Challenge
Even though RPM supports multiple virtual apps and worlds already, it’s far from comprehensive. Voxels and Decentraland are two rising metaverse platforms that aren’t yet listed on the RPM website. I asked Selvet whether support for those and other popular platforms is coming any time soon?
“Not soon,” he replied, adding that voxelization is technically difficult to integrate into its platform. The voxel — basically, a 3D version of a pixel — is a common geometry type in the emerging metaverse. It has a block-like aesthetic, which will likely be familiar to you from the popular online games Minecraft and Roblox. The same style is used by metaverse products like Voxels (formally Cryptovoxels), The Sandbox, and others.
“It’s one of the number one requests we get from top partners,” said Selvet. “Being able to not just tweak the avatar’s technical specification, but also tweak the avatar’s visual aesthetic — the look and style of avatars — so it fits better into their application. And the ultimate demonstration of our capability to do that would be voxelization, which is technically probably the most difficult to pull off — but it will also be the most impressive to see.”
RPM’s own avatar aesthetic is photorealistic — indeed, new RPM users are encouraged to “take a selfie,” which is used to influence the look of the avatar.
glTF and VRM (which is based on glTF) are two of the emerging avatar standards, so I asked whether RPM supports them.
“So basically, from Day Zero of building Ready Player Me, we’ve been building on top of the glTF standard,” said Selvet. “So all the assets of the avatars are delivered in glTF. And the reason why we adopted it is that even two years ago, we felt like it’s going to be the JPEG format for the metaverse.”
The first platform RPM supported was Mozilla Hubs, which was using glTF as its primary format at the time (2020). So that “also kind of pushed us towards adopting glTF,” said Selvet.
That said, RPM is also actively looking into more powerful emerging standards to support, in addition to glTF. For instance, Universal Scene Description (USD), an open standard developed by Pixar which The Khronos Group (caretaker of the glTF standard) pitches as the PSD to glTF’s JPEG, is on RPM’s roadmap.
“It’s also likely that at some point, we’ll tap into the USD format,” said Selvet, “especially when we open up content creation capabilities for our developers. […] I can see the benefit in developers sending us entire scene descriptors, that we’ll be able to load and deliver into the network of apps we have.”
NFTs — But Not for Avatars (Yet)
Another talking point in open metaverse circles is the use of NFTs to enable ownership of digital assets. RPM is one of the platforms bullish on this idea.
“It’s very likely that we won’t call the assets NFTs at some point, it’s just going to be user-owned assets — or whatever is a more consumer-friendly term for that,” said Selvet. “But ultimately, you as a user can have true ownership of the digital assets.” He added that developers will follow the trend towards NFTs, “because they need to make sure that their end users and players are actually happy.”
However, RPM currently does not support avatars being sold as NFTs. Its developer documentation states, “You are not allowed to mint any Ready Player Me avatars as NFTs, even if you are a registered partner.” According to Selvet, this is for business reasons. “The way we plan to make revenue is by developers selling the cosmetics of avatars, not the avatars themselves.” By cosmetics, he means virtual assets attached to the avatar — like clothing. Selvet said this policy might change in future.
Ready Player Me is already a polished consumer tool (try it yourself to see), but I’m most intrigued by how much traction it can gain from developers. It makes sense for metaverse developers to tap into an existing avatar creation tool and SDK, rather than try and re-create the wheel. Perhaps the bigger platforms, like Meta and Microsoft, will release their own avatar creation tools in time. But for now, RPM has a nifty head start — and also a large bucket of VC money to spend on scaling up.