R6 to R15 Adapter [Beta]: Enable R15 Tech in R6 Experiences

[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:

  1. Upgrading avatar motion for natural and automatic interaction with objects, other avatars, and the experiences you create
  2. Enabling UGC Program members to publish unique bodies and heads that support animation, forging new creative outlets and monetization options
  3. 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:

  1. Use R15 avatars in your R6 experience immediately by simply enabling the R6 to R15 Adapter (Studio Beta available today).
  2. Fully convert your R6 experiences to R15 using the R6 to R15 Conversion Tools (Coming soon).
  3. 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.

414 Likes

This topic was automatically opened after 10 minutes.

Thank you for clarifying the future of R6 avatars. Many games, including some of my own, rely on R6.

Please do not enable this on all experiences if it could break older games that are no longer maintained.

It is great to see more communication between the company and us developers.

138 Likes

Wow these are some interesting changes, but I can see that it may be useful for some developers. Great job for giving us these tools Roblox!

I think that the transparency on the future of R6 is great, and should be applied to the whole platform.

48 Likes

What will happen to Gears that are only functional on R6?

Several Gears have not been fixed for R15 use since the inception of R15 (2017).

This encompasses a vast majority of gears released before 2017.

These still function in R6 as intended, but dont in R15.

Creating a lookalike R6 does not fix these features and breaks these gears completely with no way back.

88 Likes

I am glad that you guys do not plan to actually deprecate this older technology! This is very cool and I give the applause to the engineers who worked on this. R15 has lots of features that R6 doesn’t, such as the layered clothing feature.

Also seems like the documentation for this feature doesn’t actually exist

57 Likes

If R6 package is being deprecated does that mean the 6 body parts of R6 will get replaced with the 15 body parts of R15?

This would end up breaking tons of morph givers and other such things that exclusively use the 6 body parts of R6

74 Likes

Really thought you guys would just not do anything with r6 anymore, but this looks cursed in my opinion layered clothing looks horrible on R6.

Instead of doing stuff like this things like Dynamic Heads and Strafing/Backpedalling would be tolerable

50 Likes

I don’t know why this gave me an uneasy feeling about R6’s possible removal even if it’s not gonna happen… Other than that, this may cause problems with games, gears, and other R6 content. I beg you not to force this on old experiences as their developers are no longer present to revert these changes.

58 Likes

Seems like the end times are near.

106 Likes

From a demo i saw, these avatars can use emotes(which require R15 body parts.)

This’ll probably break a LOT of R6 morphs, gears and other functionalities that havent been updated for R15.

37 Likes

I think this is pretty cool although, you can use Bauzly’s rig in order to achieve the same effect meanwhile not pertaining the same issues on Blender. Im sure many animators(certainly anime game developers) will froth when this gets officially released, What of Rthro? What is Roblox’s intention, considering that the new packages are Rthro as well as layered clothing? Also, how will you balance the economy in regards to Rthro so that R15 is still utilised and important, and so that classic items do not die out in the face of free UGCs? Also, it seems that me any many others are of the same opinion that Layered clothing does not look good on R6. There are also concerns about rig-specific gear and the fact that some games will be destroyed due to this update. I personally think that Roblox should implement a legacy version of Studio, which has all the past technology without any of the security liability. This will ensure that developers can choose whether they would like to stick with the classic version of Roblox or to adapt with the new versions. I personally think that you should have multiple version of Studio in order to accomodate for these people however, I suspect there may be server issues with such. Anyone care to elaborate?

33 Likes

Screenshot_20230824-151300
I used to be very bitter at the thought of R6 being deprecated, but this needs to happen. R6 is outdated, buggy, unsupported by most major games, and it’s just so old. This is the end of an era. Joining pre-R15 and staying to post-R6 is wild.

I hope you remain committed to the promise that R6’s look, feel, and movement will remain with the platform.

78 Likes

In the FAQ, they had stated that are indeed planning to deprecate R6 technology fyi

23 Likes

How do character physics work with this conversion? For some r6 experiences, it’s crucial that character physics is exactly the same.

42 Likes

The concept seems fine, but I think it will result in a lot of inconsistencies with the original R6 that take a long time to get fixed.

Particularly, I’d be curious to know whether this kind of thing would result in visible R15 “seams” on blocky avatars where you can clearly see the multiple segments of each body part despite the fact that they never move independently.

Besides this, I’m not sure how easy the transition to the adapter will be if we have to modify a good deal of menial functions in our code to accomodate it. Hopefully these issues will be resolved later on.

30 Likes

Excellent to see Roblox providing some first-class support for those who still wish to use R6 in their experience. I personally won’t be adopting this until Layered Clothing and UGC Bodies are more mature (and not as dodgy when it comes to vulnerabilities and bugs/crashes), but it’s great to see more transparency on what Roblox’s plans are going forward.

18 Likes

Support for animations that utilize external models (ex. weapon models) seems to be completely missing:
image

This is how it’s supposed to look like:
image

Sizing seems to be weird as well, the height is correct but the emulated R6 avatars just seem… tiny

Comparison: left is emulated, right is native

43 Likes

Will there be an animation pack for avatars that replicate R6 at a player choice level? because Imo, the current “Oldschool” animation pack, doesn’t give the same charm of R6

47 Likes

Since you mentioned that R6 will be deprecated eventually, what if we could have R6 like rig but with mesh deformation? Wouldn’t this allow “R6” to support all the newest features just fine? Something like this was already done by the community but it would be great if it was official option (perhaps a special character bundle), since there is a lot of people like me who like the appeal of R6, and I wouldn’t mind the rig bending, if it means supporting a close replica of R6.

Untitled Game - Roblox Studio 2021-07-07 19-13-55

Video credit: @kingdomkind.

75 Likes