Decals are known for their limits to respect Skeletal Meshes:
And while a lot of work was done and discussed to circumvent this limitation, no offered alternative solution is robust/flexible/comfortable enough for a lot of use cases. I understand that the implementation of Decals as they are is quite established at this point in the engine - however this single tweak can provide a robust solution.
A PreSkinnedPosition:
Can be transformed into UV space given a size and orientation:
Which can allow decals to respect bone animations on skeletal meshes.
Constructing a PreSkinnedPosition SceneTexture (that’s sampled together with depth) (option can be enabled in project settings) will let us do this UV space transformation in decal materials to get them to work wherever placed (perhaps using some custom primitive data of the decal’s transformation). So the final solution is just a single SceneTexture away!
Please implement this so deferred decals can become a real tool that can empower artists when working towards dynamic game scenes!