Quick answer: Enable Cast Shadow on the foliage type. Raise Shadow Cull Distance, and confirm the light actually casts dynamic shadows.

A forest of foliage-painted trees renders fine but casts no shadows. The foliage type has shadows disabled, or shadow culling is too aggressive.

Foliage Type Settings

Open the Foliage Type asset (or the instance settings in the Foliage tool). Under Shadows:

Shadow Cull Distance

Foliage has a separate cull distance for shadows. If it’s low, distant trees render but stop casting shadows. Raise Shadow Cull Distance (Start/End) to match the visible range, or set to 0 for no shadow culling.

Light Setup

A Movable directional light casts dynamic shadows; a Static light only casts baked shadows (and foliage painted after the bake won’t have them). For dynamic foliage shadows, the light must be Movable or Stationary with dynamic shadows enabled.

Nanite Foliage

If the foliage mesh is Nanite, ensure Nanite shadows are enabled in the project’s shadow settings — Virtual Shadow Maps are the recommended path for Nanite foliage.

Verifying

Trees cast shadows on the ground and each other. Distant trees still shadow within the raised cull range. Shadow quality matches the rest of the scene.

“Foliage shadows are opt-in and separately culled. Enable Cast Shadow, raise the shadow cull distance.”

For dense forests, balance Shadow Cull Distance against perf — full-range foliage shadows are expensive; a moderate distance with VSMs is the sweet spot.