[Update] September 14, 2023
[Update] August 31, 2023
Hello Creators,
Today, we are announcing the Studio beta release of the R6 to R15 Adapter– a product for developers who build R6 experiences. This is the first step towards our goal of unifying our avatar systems so that all developers can create avatars in any style they choose and still access advanced avatar features, like animating your avatar.
This adapter will allow developers who build R6 experiences to use the latest R15 avatar features while retaining a similar feel, functionality, and movement to their R6 experience.
Our Avatar Technology
Avatars are an essential part of identity on Roblox. For developers and users, avatars represent who you want to be and how you want to express yourself as you move from one experience to another, communicating, creating, and connecting with the thousands of people around you.
We have made significant investments in avatars over the past few years to give our users many more ways to customize their avatars and communicate with others — including skinning, SurfaceAppearance, Layered Clothing, and Facial Animation. Most recently, we added the ability to animate your avatar through your real-time movements, so your avatar reflects your expressions instantly, opening up new ways for users to interact and connect within your experiences.
This is just the beginning. We’re adding more avatar features to help our community create and communicate better than ever. Some of the new features we’re working on include:
- Upgrading avatar motion for natural and automatic interaction with objects, other avatars, and the experiences you create
- Enabling UGC Program members to publish unique bodies and heads that support animation, forging new creative outlets and monetization options
- Allowing users to create and personalize avatars inside an experience and use them anywhere on Roblox, allowing your experience to inspire your users’ expression
And more! These features will make experiences even more engaging and open up potential monetization opportunities for developers.
Avatar Schema Types
Currently, we have two types of technology powering our avatars, R6 and R15. R6 is an older avatar technology with only 6 body parts or joints. R15 has 15 body parts. You can see a side-by-side comparison below.
Example of R15 Avatar Schema and R6 Avatar Schema: R15 has more joints
All of the innovations we’ve built recently and are currently working on are only available on R15 avatars. Because R15 has more body parts, it enables advanced animation, motion, and realism. Today, 98% of Roblox users have R15 avatars, and users spend 40% more time on average in R15 experiences than in their R6 counterparts.
At its core, R6 is an avatar technology standard centered around 6 parts and consistent avatar proportions. R6 also has a specific look and movement inspired by, but separate from, the underlying technology. We want to make sure developers have the power to create gameplay and visuals similar to the classic R6 while allowing access to advanced motion and animation.
To retain this Roblox heritage, we’re working on tools that enable developers to build R15 experiences that feel like R6 experiences but have access to the latest technology that best engages users.
To do this, we are launching a suite of avatar unification tools to help R6 developers adapt or convert their R6 experiences to R15 while providing the ability to retain similar look, movement, and gameplay of our classic R6 avatars. With these tools, you’ll be able to:
- Use R15 avatars in your R6 experience immediately by simply enabling the R6 to R15 Adapter (Studio Beta available today).
- Fully convert your R6 experiences to R15 using the R6 to R15 Conversion Tools (Coming soon).
- Use Avatar Settings to create new experiences using the modern R15 standard but with a consistent avatar size similar to R6– you will also be able to adjust avatar scale and speed to any desired settings, not just those that mirror R6. (Coming soon).
Developers will have access to the latest R15 features everywhere, no matter what visual look or gameplay style they choose. And users will keep the same avatar whether they visit R6 or R15 experiences.
R6 to R15 Adapter
Launching in Studio beta today, the R6 to R15 Adapter works as an “emulation layer” to allow R6 scripts to run on R15 bodies. It does so by implementing a Lua-script injection when an avatar spawns that creates a set of invisible “R6 adapter parts” glued to an R15 avatar so that R6 commands are executed on the adapter parts, which in turn move the rendered R15 avatar during gameplay.
You will be able to test this functionality in Studio using the local play mode. Support for Team Create and Client beta will be available as soon as next week. We would love to hear your feedback in the meantime.
In the example below, you can see an avatar joining an R6 experience prior to enabling the adapter. The avatar defaults to the generic R6 avatar without its layered clothing.
R15 avatar joining an R6 experience without the adapter
In the next example below, you can see an avatar joining an R6 experience that has the R6 to R15 Adapter enabled. You can see that the avatar retains its identity, including layered clothing accessories.
R15 avatar in an R6 experience using R6 to R15 Adapter
Since the adapter allows the R6 scripts to run on R15 bodies, when R15 avatars enter an R6 experience, they will behave similarly to their R6 counterparts but retain all the innovative features of R15, like layered clothing and animated heads.
This means your R6 experiences will be accessible to a wider group of users who prefer to use their R15 avatars, as 98% of Roblox users have R15 avatars.
To enable this adapter, update the settings in the workspace property AvatarUnificationMode.
The R6 to R15 Adapter will be Studio-only during the initial phase of the beta period. After we gather feedback from the community, we will enable R6 to R15 Adapter support on experiences.
What’s next
While we are excited about the future of this product, we want to ensure the adapter is working well for all developers. However, we know our community is creative, and there may be some special case scenarios that we may have yet to consider. If you’re having issues, please share your feedback and questions below in the comments so we can help problem-solve.
Today, this product is “opt-in,” meaning you choose to apply it to your experience. Once we have the majority of R6 experiences working with the adapter, we will be switching the adapter to “opt-out,” meaning it will automatically work on all R6 experiences. We’ll give you a heads-up on the Dev Forum 30 days before we switch to opt-out.
As the fidelity of our experiences increases, Roblox avatars have to keep pace with the increased fidelity and mobility needed for these advanced experiences. As detailed above, we will launch more tools throughout the year that give R6 developers access to the latest tech without sacrificing their preferred style. Check out our documentation for more information on our R6 to R15 Adapter. Stay tuned as we’ll be posting more announcements when the additional avatar unification tools are released.
We look forward to hearing your feedback.
Thank you.
FAQ
Click here to view the FAQ!
Are you getting rid of blocky?
Nope! The classic blocky style is a big part of our Roblox heritage. That’s why we want to ensure the style’s longevity by creating the blocky style on R15 avatars with advanced R15 tech features like facial animation.
Are you deprecating R6?
We will preserve the classic look, style, and movement of R6. We will deprecate the R6 technology stack at some point in the future because of its limitations. The R6 tech stack makes it hard to achieve natural-looking movement because of its simplified structure and inability to access advanced features like facial animation. With our avatar unification tools, we want to ensure that all developers have access to the most innovative avatars while preserving their preferred gameplay style. We don’t have a set date yet, as we want your feedback to ensure the R6-R15 Adapter, Conversion Tools, and Avatar Settings meet your needs before we take any action. We’ll work with you every step of the way to determine the right timeline for deprecation.
Will enabling camera for animated heads slow down my experience?
We have optimized and tested the animate your avatar feature among a variety of devices to minimize performance impact. For the majority of users, we expect there to be little or no impact by enabling this feature.
Will the source code for the adapter be available?
Eventually, we will publish it to Github, but until then, please refrain from copying and forking our Lua code until we officially publish. We will be making updates after additional feedback.
What if I have custom avatars in my experience? What will the adapter do?
If your experience has a custom avatar system, the adapter won’t turn on and will not impact your experience or gameplay. Just like before, R15 avatars cannot join your custom experience.
You mentioned a suite of tools for avatar unification. What are those?
Today, we’re launching the R6 to R15 Adapter, which you can toggle on to allow fully functional R15 avatars in R6 experiences. Throughout the year, we will be introducing two more– Avatar Settings and a set of R6 to R15 Conversion Tools that allow developers to fully convert their experiences from R6 to R15. It will help us address some of the issues that we’ve seen the community already working to solve!
What are the known limitations of using the adapter?
- Security
- Some R6 experiences with active cheat detection can interpret the Lua-script injection as an attempt to circumvent the security and block it.
- Custom avatar editors
- Experiences with custom avatar editors that allow players to swap body parts might break the connection with the adapter parts.
- Pre-existing R15 support
- Experiences that check the avatar rig type and have solutions specific for each R15 and R6 case, might not work properly with the adapter part setup.
- Avatar body part rescaling
- If an R6 body part is resized, the scale change doesn’t propagate to the R15 adapter part. This is also the case if joint attachments are moved.
- Head collisions
- R15 characters joining an R6 experience don’t support collisions with their Head part. If your experience detects or depends on collisions with a character’s Head, you must also update your scripts to check for CollisionHead as well.
- Animation Playback
- There is a rare race condition that can happen when there are multiple players in an experience that causes a crash for one of the players. It happens when playing a custom animation with different topology from the default R6 while being observed by another player. We will release a fix to this within the next couple of weeks.
- API calls to GetChildren
- GetChildren calls returns both the R6 adapter parts and their corresponding R15 parts. You may need to account for this extra information.
- API calls to FindFirstChild
- Do not immediately use FindFirstChild, or “dot indexing”, in your scripts to find character parts. Instead, use WaitForChild before you call FindFirstChild. Replication in AvatarUnificationMode is different and the experience may fail to find a child that doesn’t exist yet.
- Head.ClassName conditionals
- AvatarUnificationMode sets the Head to a MeshPart. Any calls that read or write to the SpecialMesh.MeshId property will fail.
Additional FAQs (Aug 31, 2023)
Why aren’t my animations working?
The adapter is currently in beta and we working on fixing some of the known issues with animation in the coming weeks. Please continue to let us know what problems you’re encountering as it will help us validate the fixes. We will periodically update the issues with animation on an ongoing basis, so please keep trying the adapter as it evolves.
Will it increase the number of body parts?
There will still be 6 body parts in terms of scripting. However, we are adding the R15 parts to support R15 tech like facial animation as well as other features.
Will it affect any values of Motor6Ds?
Motor 6Ds values on the R6 parts will not be impacted, their values will stay the same. If you encounter an issue, please let us know in the comments so we can investigate.
How do character physics work with the adapter?
The character physics are built to mimic R6 movement through scaling and hitboxes to preserve the gameplay of your experience– Please give the adapter a try and let us know if you have any specific questions or find cases where that does not work as expected.
Has Roblox ensured that R15 is as performant or more performant than R6?
In our internal test suite, we see no significant differences between R15 and R6 performance on client and very minimal impact on server. But every experience is different – please let us know if you see a performance impact. Your feedback will help us fix any issues and further minimize any performance differences.
Why isn’t the adapter working with my experience?
The adapter is still in beta, we are aware that it does not work in all cases. If you find it does not work at all, please reach out to us so we can work to fix it. If you can share code/place with us it will speed up the process.
Will morph givers break my experience?
The impact on morph givers varies by experience. Please test the adapter and then comment with more information so we can address the specific issue in future updates.