Emissive Masks are Now Live for Published Experiences!


Hi Creators!

We are excited to announce that support for Emissive Masks have officially been released and is now available for published experiences across all clients!

You can now use the emissive properties on SurfaceAppearance, MaterialVariant, and TerrainDetail to create stunning, detailed glow effects in your games.

To learn more about Emissives, check out our previous post!

690x374
Emissive Masks are used in a variety of ways in this sample experience to get different glowing effects using SurfaceAppearance, MaterialVariant and TerrainDetail instances.


A Quick Note on Emissive Terminology

We wanted to provide some technical context on the emissive feature. To ensure the best performance and memory usage across all devices, the feature we shipped is built around Emissive Mask support, rather than full RGB Emissive Map support. This uses the exact pipeline as the current Neon material but gives you a lot more granular control with a mask and the new properties.

The key difference is that an Emissive Mask uses a single-channel grayscale texture to define only the intensity (how bright it glows). The color of the emission is derived primarily from your existing ColorMap (Diffuse texture) and can be further modulated using the EmissiveTint property on the material.

Heads up for PBR/Surface Appearance creators:

  1. If you happen to upload a standard 3-channel RGB texture and apply it directly to the EmissiveMaskContent property, please know that only the Red channel will be used to determine the glow intensity. This means the texture itself cannot be used to define multiple glow colors on a single material instance. (More details)
  2. If you import a model through the 3D importer and it contains a 3-channel RGB Emissive Map, the importer will automatically generate the correct Emissive Mask and modify the importer Color map to match the original intent. (This works in reverse for exporting as well) (More details)

Frequently Asked Questions (FAQ)

  • When will this be supported for UGC / Marketplace items?

    • Emissive support for UGC items is planned for a later phase after the feature is stabilized in-experience. Until then, items with emissives will not pass validation.
  • Will Emissive Masks cast actual light on the environment?

    • It functions exactly like the Neon material—it produces a bloom/glow effect but does not currently act as a dynamic light source that casts light on surrounding geometry.
  • Will Decals get Emissive support?

    • We are working on getting Emissive Mask support for Decals but do not have a timeline to share at the moment. Please stay tuned for this
  • Why is my emissive area dark/black or white/washed out?

    • Emissive Masks are additive to the diffuse color. If your ColorMap is pure black (0,0,0), there is no color to “brighten.” To fix this, ensure the area on your ColorMap has at least some color value or use the EmissiveTint property.
    • Conversely, If the EmissiveStrength is set too high, the color will “clip” into white due to the maximum dynamic range. Try lowering the EmissiveStrength to fix this.
  • Can the strength and tint values be changed via script at runtime?

    • Yes, EmissiveStrength and EmissiveTint can be modified via script at runtime to create dynamic effects. Take a look at the sample experience for examples.

We can’t wait to see what you build with this feature! As always, please provide any and all feedback so we can continue improving this feature. Happy creating!

Roblox Rendering Team

182 Likes

This topic was automatically opened after 9 minutes.

Very nice update will be using! One of the first good updates in a while :slight_smile:

11 Likes

Finally, a good update!!
How will this be optimized for lower-end devices though, will it just adjust depending on the graphics setting?
Also how will StreamingEnabled affect this?

8 Likes

It doesn’t work https://www.roblox.com/games/75568135915194/Rendering-Emissive-Sample

https://www.roblox.com/request-error?code=404

4 Likes

Cant wait for UGC accessory support!

1 Like

Just like everything else, there is nothing to be optimized

Awesome update but quick note: the sample experience provided is private so visiting it returns a 404 error.

6 Likes

YAY!!! Finally i’ve been waiting for so long!

I don’t know what is this, but good update! Wow! Incredible! I rate it a 9.12/10. How long did it take to make? Wow! Incredible! Good j*b, Roblox Corporation.

EDIT: I know now what this is! Incredible j*b, Roblox Rendering Team!

2 Likes

FINALLY!! No longer we have to split meshes just to have neon. Now I do wonder whether EditableImages work with Emissive masks via CreateSurfaceAppearance() API. But otherwise huge W for Roblox graphics.

5 Likes

will this work on playstation?

1 Like

FINALLY! Now the next step would be having either displacement maps or finally fixing the low-res shadows of the engine

1 Like

The link to the sample experience doesn’t work, it’s unavailable.

yeah they will likely notice a bit later

FINALLY ITS LIVE! Can’t wait to use it once and forget about because I’m lazy

Is this related to the texture-not-loading-bugs earlier today?

Out of all the negativity recently, this is a nice change of pace. Thank you.

1 Like

Same, maybe add a property to modify the resolution on the shadows and lights.
image

4 Likes

Looks pretty neat but I’m deathly afraid of any of these updates nuking gameplay performance, as core optimization issues still haven’t been properly addressed, and half of the optimization methods really could use a client-level intensity toggle

2 Likes