AnimLOD reduces animation CPU cost by lowering update frequency for distant or small on-screen characters using tiered Playables-based evaluation.Animated characters can become expensive fast, especially in scenes with crowds, enemies, NPCs, wildlife, or background actors. Even when a character is far from the camera, Unity may still evaluate its animation every frame, which can waste CPU time on motion the player can barely notice.AnimLOD helps solve this by applying level-of-detail logic to animation updates. Characters close to the camera can animate every frame, while distant or visually small characters update less often based on configurable tiers. This lets you keep more animated characters active in a scene while reducing unnecessary animation workload.The system uses Unity’s Playables API to manually evaluate each character’s animation graph. Delta time is accumulated between evaluations, so animation timing remains correct even when a character updates every 2, 4, 8, or 16 frames. AnimLOD also spreads evaluations across frames, helping avoid the performance spikes that can happen when many characters update at once.AnimLOD is designed to be simple to integrate: Add an AnimLODComponent to animated charactersUse an AnimLODManager for scene controlTune your tiers through a ScriptableObject config.FeaturesRuntime animation LOD for animated charactersDistance-based tier selectionScreen-relative height tier selection, similar to Unity LODGroupConfigurable tier thresholds and update intervalsPer-character AnimLODComponentCentral AnimLODManagerManual animation evaluation through Unity PlayablesTime-correct animation using accumulated delta timePhase-spread evaluation to reduce frame spikesSupports Animator culling behaviorWorks with standard Animator ControllersRequirementsUnity 6000.2 or newerCompatible with all rendering pipelinesLLMs were used for coding assistance and documentation. All output was reviewed and validated by the developer.


