Mesh Layers
In hedgehog engine games, each sub-mesh has a layer assigned that can enable or disable certain shader features for rendering, as well as change when it gets rendered.
Opaque
The default mesh layer, which completely ignores any transparency of a material.
In hedgehog Engine 2 games, this layer will attempt to use deferred rendering.
Transparent
Will render meshes with transparency blending. Makes use of the “use additive blending” feature.
Punch-through
When rendering a mesh, each rendered pixel will check if the sampled transparency is below the materials “clip threshold”. If it is, the pixel is discarded.
In hedgehog Engine 2 games, this layer will attempt to use deferred rendering.

In Hedgehog engine 2
HE2 games (only confirmed for Shadow Generations right now) have some differing behavior:
- Most (if not all) shaders do not use the materials clip threshold, and instead use a scene variable, which is (unless somehow modified) always at 0.5
- Transparency values above 0.5 also get dithered
- Shaders using noise dithering (usually denoted by having
_dither_
in their name) use a static clip threshold of 0