First Person Player Character does not cast shadows [UE5.8]

Hi,
I spent a lot of time on it and I think this is a bug or I really missing something.

Steps to reproduce:

  1. Create fresh First Person Perspective project from template, set Platform to Desktop and Quality to Maximum.
  2. Drag Point Light and First Person Character Blueprint on the level (close to each other, to see, if there will be a shadow).
  3. Hit play and walk near dragged Point Light.

No other changes to the project was made! Engine version is 5.8.2.

Here’s the results:

Point light is Stationary as default, but changing it to Movable changes nothing.

As you can see, static mesh (ramp) is casting shadow. Dragged character pawn blueprint is casting shadow (from Directional Light and Point Light). But player character (the same character pawn blueprint) cast shadow only from Directional Light!

Currently I’m working on a game, where character will carry equipment (static meshes) during the night, walking near the street lamps (Spot lights behaves exactly the same, no shadow from player). It’s a big issue, where there are only shadows from carried stuff.

One more thing, if I switch project to use Ray Traced shadows, then player character cast shadows from local light. But then, I’m loosing shadows from nanite displaced meshes (which are the core of the gameplay here) so I need VSMs.

Please, help, anyone :frowning:

This isn’t a bug — it’s contact shadow culling. Small local lights (point/spot) skip full shadow maps for small primitives when the shadow would be tiny on screen, and the first-person mesh is usually hidden to the owning player’s camera, which makes the engine skip its shadow entirely in the local player’s view.

Things to check:

  • On the point light, raise Shadow Bias quality / set the light to Movable and check r.Shadow.MaxCSMResolution isn’t limiting it.
    • On the mesh, make sure Cast Shadow is on and bCastDynamicShadow is true.
      • The likely real culprit: with FPS templates the character mesh has Owner No See / Only Owner See settings — shadows for owner-only meshes are culled from the owner’s view. Try enabling Render in Main Pass + set the mesh’s bCastHiddenShadow = true (in the static/skeletal mesh component, ‘Cast Hidden Shadow’), which forces a shadow even while the mesh itself is hidden to the camera.
    • Cast Hidden Shadow on the FP mesh is the standard fix for exactly this template setup.