Quick answer: Unity SkinnedMeshRenderer vanishing despite the character clearly being on-screen? Bounds are baked from bind pose; animations that extend bones outside it produce false-culls.

An animated character’s sword swings off-screen visually but the character disappears because the swing extended past the bounds box.

Update When Offscreen

SkinnedMeshRenderer → updateWhenOffscreen = true. Forces bounds recompute each frame from current pose. Costs CPU but eliminates pop-out.

Manual Bounds

smr.localBounds = new Bounds(Vector3.zero, Vector3.one * 5f);

Hand-set a generous bounds box that covers all animations. Avoid the per-frame cost; lose tightness for culling.

Root Motion

If animations include root motion, the renderer moves but bounds stay at origin. updateWhenOffscreen or manual bounds positioning compensates.

LOD Considerations

SkinnedMeshLOD swaps to low-poly versions. Each LOD has its own bounds; all need to be tight or generous consistently.

Verifying

Characters stay visible during all animations regardless of bone extension. No mysterious disappearances at frustum edge.

“Bounds are bind pose. updateWhenOffscreen or set manual bounds to cover animations.”

For crowd scenes, manual bounds beats updateWhenOffscreen — constant cost per renderer vs free.