UGC Material Variants & Upgraded Built-in Materials Release

Hello developers,

We are thrilled to announce that we are now moving User Generated Content (UGC) Materials and the Built-in Upgraded 2022 Materials out of beta and to a full release. The new material features are now available to many, and will be rolling out to all developers over the coming weeks. These features give you new capabilities to take the look and feel of your experiences to the next level.

Let’s take a look at what’s in this release and what’s next.

UGC Materials

The UGC Materials system enables you to create your own custom material variants and apply them to a specific part or globally across all parts and terrain.


Image provided by BIGBOOSTLP

There are three core components to building your own custom materials:

  • MaterialService - The fundamental system that enables UGC Materials capability.
  • MaterialVariants - Custom variants you create. They must be a child of MaterialService in Explorer to be active and usable within your place.
  • TerrainDetail - Provides a way to further customize terrain materials, changing the look of the various terrain side faces. TerrainDetail instances must be children of the MaterialVariant instance they affect.

Material Manager

While it’s possible to interact with MaterialService, MaterialVariants, and TerrainDetail via Explorer and scripts, we have also released a brand new Material Manager. This user-friendly tool replaces the former Materials drop-down in the ribbon bar and makes it easy to create, edit, and manage all of your materials

Throughout the beta, we’ve worked to address your feedback and improve the performance of the tool. For example, we reduced the amount of clicks needed to apply materials to parts compared to the old workflow by adding an “Apply to Selected” hover option and a Paint Bucket bulk-apply button. We also made Material Manager’s design responsive so you can keep it docked at a narrow width.

Take a look at our comprehensive new documentation about Materials on Roblox to learn more about creating and using MaterialVariants.

Built-in Upgraded 2022 Materials

We are also upgrading the default, built-in materials. This upgrade is optional for existing experiences, but will be ON by default in our Studio templates for new places. Upgrading is completely optional: your current materials will not change.

If you would like to opt-in to the new materials, you can enable them by using the MaterialService.Use2022Materials property.

What’s Next?

There are a few additional refinements we plan to make to the new material management features over the next few weeks to make your workflow even smoother:

2022 Materials enabled in new experiences by default

We will update the Studio templates so that new places have 2022 Materials on by default. It will still be possible to toggle between the pre-2022 and 2022 materials. This will not affect existing places.

Creating and editing a MaterialVariant in Material Manager will become non-modal

Rather than opening a separate window, you will use the inspector to create and edit a material. This will make it easier to copy/paste asset IDs for existing images into variants, too.

TerrainDetail support in Material Manager

In today’s release, you need to use Explorer/Properties to create TerrainDetail instances. We are adding this functionality to Material Manager.

Smoother Save to Roblox/Convert to Package integration

When you publish a model or package using custom UGC Materials, you currently need to manually copy any MaterialVariants the object uses before publishing it. We want to make this an automatic option as part of the publish flow in the future.

Other minor bug fixes and improvements

Thank you to everyone who shared bug reports and feedback with us during the beta period. We will continue to adjust and improve based on your feedback.


This topic was automatically opened after 11 minutes.

This is long overdue, and I am glad its here, I am in the middle of a showcase using the 2022 materials on crossroads to show how Roblox has evolved. Now I can make a version with full PBR! The only thing we need now are displacement maps


:clap: Keep the great updates coming! :clap:


I’m loving the new material features. I have been wanting this kind of control over materials for years! My only wish left is that we would be able to have more than the statically provided smooth terrain options. It would be nice to be able to paint multiple versions of grass, rather than having to stick to just the normal grass and leafy grass. Maybe there is already a way to do this that I am unaware of? I am not sure. Loving the work that is being done!


I’m not sure of the actual term, but is the bug regarding the “Undo” feature fixed? I had noticed that making a change in the editor did not actually register as an “undoable” action.


Very good update, i’m glad it’s finally out of beta. Gonna allow games to have a better overall visual quality by giving developers a bigger freedom to choose what kind of materials they get to use. Though, there’s a few images on the post that aren’t loading for me, still very nice!


Thrilled that this is out! Thank you again for listening to all the feedback, especially about keeping support for the older materials.


Better undo support is part of our “other bug fixes and improvements” item above. Thanks for checking!


There are a variety of improvements to terrain we’re investigating and working on, and we hear your feedback: believe me, we have a list! But we have nothing to announce right now.


I think this update is one of the bests, however I would also like to see a fix for Pathfinding Service as it is simply not usable.

Also I’m looking forward to the new roblox video system.

By the way, will it be possible to add query tracking to the database in the future? Thanks to this, we could check whether our data has already been saved, whether it is still in the queue or whether it has been lost.


Great update, but I have a quick question. Why is ColorMap locked for MaterialVariant? [The current identity (2) cannot ColorMap (lacking permission 1)]

What if we want to change a texture during run time? For example, I want to make all my water blocks’ texture to get animated without me having to change each texture in it.

In other words, I want to change the ColorMap with many different textures to achieve an “animated” water.

Not gonna lie, I really need Roblox to add a water block into the engine. I am tired of having to make my own water block which doesn’t look so good at all. Terrain Water should not be the only option since it occupies a lot of memory compared to just a water block which is what developers will mostly do. We are also forced to make our own swimming system if we want a water block, which is just a waste of time.

Water Block:
→ I could use TweenService with it. (Top Priority, as I want to make my water resize and change position sometimes)
→ I could disable waves in certain blocks.
→ I could color each water block differently.

Among others…


Whoo! Been waiting for this update for a while now. Glad to see it’s finally here.


Do you can tell us a sneakpeek maybe?


So, just wanted to make sure, this means that both the new materials & MaterialVariants are available in live games on all platforms now, correct?


Amazing update!
Loving the paint bucket tool. Its also really nice that IDs for all materials are provided in the documentation.

Anyways, it seems like the material manager ui is misalligned for materials that cant have a variant:


Yes. However remember that if folks haven’t upgraded their app yet (on mobile especially), they might not see custom materials until they do.


This will be fixed shortly. Sorry about that!


Could we possibly get a “Are you sure?” prompt for deleting materials?

Currently the “Edit” button is right next to the “Delete” button. It doesn’t happen all the time, but every once in a while I will accidentally hit the delete button when I’m to edit a material.

It isn’t the end of the world when it happens, but it is a bit of an annoyance.

Thanks :wave:



RAIN PUDDLES AND FIRE SYSTEM YES!!! :sparkling_heart::sparkling_heart::sparkling_heart::sparkling_heart::sparkling_heart:

The custom materials beta has massively enhanced my game’s look and feel, allowing me to make custom materials for many surfaces like sidewalk patterns unique to each city, marble tiles and more, while changing the look of existing material for my own needs.

Many things like Emissive maps, Screen Space Reflections, animated textures, actually customizable & high quality terrain vegetation and proper cubemap reflections would go a long way to greatly enhance the look of games, but you guys have already done an incredible job.