Blob Shadow
Blob Shadow draws a soft disk under every registered transform. It is inexpensive, art-directable, and reads well in stylized games where physically correct shadows would clash with the rest of the look. Use it as the only shadow on mobile, or as a layer on top of cascade shadows for crowd actors. Blob Shadow is an optional module added through the Renderer Feature Installer.
Soft shadow disks conforming to uneven ground under a moving crowd.
When to use it
- Mobile projects that cannot afford a shadow cascade.
- Crowds and swarms where individual cast shadows would alias.
- Stylized art directions where a clean disk reads better than realistic penumbras.
- VR titles that need stable stereo without shadow shimmer.
How it works
A single full-screen pass reads the Depth Texture and the registered blob transforms. For each pixel inside a blob’s world-space radius, it darkens the result with a configurable falloff. Because it reads depth, blobs drape over uneven ground rather than rendering as flat decals. Registered blobs are batched into a single structured buffer and drawn in one pass after opaques.
Renderer Feature setup
- Open Window → Genesis → Renderer Feature Installer and enable Blob Shadow.
- Attach a
GenesisBlobShadowcomponent to each transform you want shadowed. - Tune the per-component Radius and Strength, or drive them from the Animation API.
- Enter Play mode to confirm the blobs draw after opaques and conform to the ground.
Settings
Performance & quality
- Cost scales with screen coverage, not blob count. Distant crowds are effectively free.
- Restrict receivers with the Receiver Layer Mask to skip surfaces you do not care about.
- Pair with Stylized Fog — soft disks plus height fog ground the actor without a cascade.
Tips & gotchas
- Blobs are opaque-only receivers; transparent water uses the Volume override instead.
- For tall objects (trees, lamp posts), increase the radius and lower the strength so the disk reads as ambient occlusion rather than a hard shadow.
- The component can be driven from the Animation API to stretch and squash on landing — see Animation API.