Quick answer: Deferred decals project onto the static GBuffer — skeletal meshes deform after that, so decals slide or don’t stick. Use mesh decals (decal material on the skeletal mesh itself) or a material layer instead.
Blood decals project nicely onto walls and floors but won’t stick to a character’s skeletal mesh — or they slide as the character animates.
Why Deferred Decals Don't Work
A standard Decal Actor reprojects from the depth/GBuffer. Skeletal meshes are skinned every frame; the decal has no way to follow the deformation, so it appears to slide or simply doesn’t register on the animated surface.
Use Mesh Decals
Create a decal-blended material (Material Domain = Deferred Decal won’t help here — instead use a regular material with Decal Blend on the mesh). Apply it as an extra material element on the skeletal mesh. It’s skinned with the mesh, so it sticks.
Or a Material Layer / Blend Mask
For wounds and dirt, a material layer driven by a runtime mask texture (painted via render target) sticks perfectly because it’s part of the mesh’s own material — no projection involved.
Hit-Location Wounds
Convert the world-space hit to the mesh’s UV space and splat into a damage render target. The character’s material samples that RT — wounds follow every animation frame.
Verifying
Shoot a character. The wound decal appears on the body and stays locked to the surface through the full animation — no sliding, no disappearing.
“Deferred decals are for static GBuffer geometry. Skeletal meshes need mesh decals or material-layer wounds.”
The render-target wound mask approach also gives you persistent, accumulating damage across a fight — far better than spawning decal actors.