Decal Channels

I know you (Epic) have something like “Decal Channels” on your To Do list since almost a year, but is there any update on it? At the moment we can only set whether a mesh will receive all decals or none - but there are a lot of possible options which would make it necessary that a mesh receives some decals why it does not receive others. :slight_smile:

There is no news currently. We have a single bit to mask decals - mostly to have static decals not affect dynamic objects (think of walking through a dirt puddle).
The feature would be easy to implement - we just have to find a bit or more in the GBuffer and expose the channel index to the decal and the object instance.

We don’t have the need yet and don’t want to implement it without a clear application.
Depending on your application you might need more than a few channels e.g. if you put object customization on many objects you might need more 8 bit.
Other limitations might prevent usage of the feature e.g. deferred decals are not skinned - they look odd on skinned characters.

A non deferred approach would help (forward decal rendering but still sharing deferred shading). If we go in that direction we would have the channel without any extra GBuffer cost.


Hi Andrew,
can you point where in the GBuffer there is free place for 8 bit mask for decal channels? :wink: I’m using UE4.9.

I see a lot of needs. Specialty when talking about modular meshes.

  • Road stripes
  • Road cars marks and variations
  • Walls leaks
  • (In resume), texture variations

need +1, please make it up!

This thread and this other Decals Channels - Feedback for Unreal Engine team - Unreal Engine Forums probably should be merged or something

So has this been done now? I see these posts are from years ago and I still can’t find channels for decals and really want them.

One good example for a need is this (since you say you don’t have a clear need): I have a Hull shape which is a very large mesh. It’s curved at the nose obviously so If I want to use (large) decals on it the bounding box has to overlap the entire width of the hull shape. Now all meshes of the interior that are inside this hull shape will automatically also receive the decal and I really don’t want that. I want to place other decals on those interior walls so I can’t just turn of the decals on those.
So this is a case where I really need channels for decals!

Also hoping we get to see this!

Hi everyone -

I’m just bumping this thread because I really need this feature.

In the meantime I’d like some advice on a workaround.

I use a lot of deferred decals from particle effects, etc… Most notably I create an ash/burn decal after explosions. Actors that have been bleeding leave blood pools when the blood hits a surface.

When I originally wrote this, the blood hitting a skeletal mesh would create a beautiful decal there. I’ve had to turn that off, though (i.e. through turning off receives decals on the mesh) because if I keep it on, then the mesh is covered with things I don’t want them to be covered with…

Most notably, if an explosion covers an area with ash, and then a moment later my character mesh moves across that surface, the mesh is covered with ash - which is ugly and makes no sense, since they’re moving over the ash after it’s already spawned on the ground. I’ve experimented to try to reduce this effect - but to no avail and eventually had to just turn off receives decals on my meshes.

I’d love to be able to have my mesh receive decal A but not B, etc.

  • 1 and bumping up this thread because I also desperately need this “filtering” option for decals in Unreal.

+1 and bumping this thread as well. Seems years have gone by without Epic addressing this, but the need to be able to filter what decals effect, ideally via channels, is still desperately needed.

I think this function is also needed. Many characters will be mapped to