Animation Auditor
Animation Auditor
Section titled “Animation Auditor”Module: Animation · Category: AnimBP · Tool ID:
AnimationAuditor
A three-tab audit suite for the heavy lifting of animation QA. Compression profiles every AnimSequence’s compression scheme and flags oversize or uncompressed clips. Curves finds flat/zero/unused curves wasting memory and lets you batch-strip them. Blueprint walks every Animation Blueprint for state-machine complexity, dead states, and transition rule issues.

When to use it
Section titled “When to use it”- Pre-cook performance pass — find every uncompressed AnimSequence, every flat curve eating memory, every AnimBP with dead states
- Inheriting a project — get an objective view of animation budgets across a content set
- Onboarding a new platform target — compression that’s fine on PC may be too heavy on mobile
- AnimBP refactoring — the Blueprint tab surfaces unreachable states that are usually leftovers from past iterations
When not to use it
Section titled “When not to use it”- Don’t use this for runtime debugging — it’s asset-side analysis, not a runtime profiler
- Don’t expect this to fix AnimBPs — Compression and Curves have batch fix actions; Blueprint is read-only
Opening the tool
Section titled “Opening the tool”- Open the EQLabs Hub and search for
Animation Auditor(or browse to Animation → AnimBP) - Click the tool card
- Use the tab bar to pick Compression, Curves, or Blueprint
Tab 1 — Animation Compression Analyzer
Section titled “Tab 1 — Animation Compression Analyzer”Project-wide AnimSequence compression audit.
Interface
Section titled “Interface”| Section | What it does |
|---|---|
| Scan Path | Folder to scan recursively |
| Single Anim Path | Optional — scan a single AnimSequence instead of a folder |
| Search box | Filter by name |
| Problems Only checkbox | Hide healthy entries |
| Scan | Walks AnimSequences and computes compression metrics |
| Export CSV | Saves the result set to a CSV file |
| Apply Compression to Selected | Batch-applies compression settings to selected rows |
| Sortable column headers | Sort by size, ratio, or severity |
| Stats | Total animations, total size (KB), warning count, critical count |
| Results list | Per-anim row: name, scheme, duration, frames, bones, curves, compressed size, ratio, additive flag, severity, suggestion |
Severity coding
Section titled “Severity coding”| Severity | Meaning |
|---|---|
| Good | Reasonable size, sensible compression scheme |
| Warning | Over the size threshold (512 KB by default), or compression ratio is suspiciously poor |
| Critical | Uncompressed or dramatically oversize |

Workflow
Section titled “Workflow”- Pick a scan path (or a single anim), click Scan
- Sort by size or severity, walk the worst offenders
- Select rows that share the same compression issue, click Apply Compression to Selected with the right scheme
- Save All afterward
Tab 2 — Animation Curve Auditor
Section titled “Tab 2 — Animation Curve Auditor”Find unused or flat curves wasting memory.
Interface
Section titled “Interface”| Section | What it does |
|---|---|
| Scan button | Walks every AnimSequence and inspects every embedded curve |
| Search box | Filter by curve or animation name |
| Flat Only checkbox | Hide curves with real animation |
| Near-Zero Only checkbox | Hide curves above the near-zero threshold |
| Near-Zero Threshold | Amplitude below which a curve is “near zero”. Default 0.01. |
| Select All Flat button | Convenience — select every flat-curve row for batch removal |
| Remove Selected button | Strips selected curves from their source animations. Undoable. |
| Stats | Total curves, flat count, near-zero count, anims scanned |
| Results list | Per-curve row: anim name, curve name, key count, min/max value, amplitude, flat/near-zero flags |
What gets flagged
Section titled “What gets flagged”| Flag | Meaning |
|---|---|
| Flat | All keys have the same value — curve contributes nothing |
| Near Zero | Maximum absolute value is below the threshold — curve contributes effectively nothing |

Workflow
Section titled “Workflow”- Click Scan
- Toggle Flat Only and click Select All Flat
- Click Remove Selected, Save All
- Re-scan to confirm the curve count dropped
Tab 3 — Animation Blueprint Auditor
Section titled “Tab 3 — Animation Blueprint Auditor”Walks every Animation Blueprint for state-machine and complexity issues.
Interface
Section titled “Interface”| Section | What it does | Default |
|---|---|---|
| Scan Path | Folder to scan | /Game |
| State Warning Threshold | State count at which a state machine is flagged | 15 |
| Node Warning Threshold | Total node count above which the AnimBP is flagged | 100 |
| Scan button | Walks every UAnimBlueprint and analyzes its graphs | |
| Results list | Per-AnimBP row: name, state machine count, total states, transitions, total nodes, linked graphs, blend nodes, severity, suggestion |
What gets flagged
Section titled “What gets flagged”- AnimBPs with state count above the threshold
- AnimBPs with total node count above the threshold
- Unreachable / unused states
- AnimBPs with deprecated nodes
- AnimBPs with tick enabled when not strictly needed
Severity coding
Section titled “Severity coding”| Severity | Meaning |
|---|---|
| OK | Within thresholds, no issues |
| Warning | Crossed at least one threshold |
| Critical | Multiple severe issues, or a count well past the threshold |
Workflow
Section titled “Workflow”- Pick a scan path, click Scan
- Sort by total nodes — the heaviest AnimBPs appear at the top
- For Warning/Critical entries, open the AnimBP in UE’s editor (double-click) and refactor
Settings reference
Section titled “Settings reference”Compression tab
Section titled “Compression tab”| Field | Default |
|---|---|
| Scan Path | /Game |
| Large Size Threshold (KB) | 512 |
| Problems Only | false |
Curves tab
Section titled “Curves tab”| Field | Default |
|---|---|
| Near-Zero Threshold | 0.01 |
| Flat Only | false |
| Near-Zero Only | false |
Blueprint tab
Section titled “Blueprint tab”| Field | Default |
|---|---|
| Scan Path | /Game |
| State Warning Threshold | 15 |
| Node Warning Threshold | 100 |
Settings are persisted to
[Project]/Saved/EQLabs/Settings/AnimationAuditor.json.
Output
Section titled “Output”- Compression tab — CSV export, batch-apply Compression to selected (modifies AnimSequence assets, undoable)
- Curves tab — Remove Selected (modifies AnimSequence curve data, undoable)
- Blueprint tab — read-only audit, no edits
- Save All required to persist any modifications
Tips & gotchas
Section titled “Tips & gotchas”- Compression schemes are per-skeleton-suitable — what works for a humanoid won’t work for a tiny prop. Don’t blanket-apply.
- A “flat” curve isn’t always removable — sometimes runtime code reads a curve by name and expects it to exist even with constant value. Spot-check before stripping.
- High AnimBP node count is sometimes legitimate — a Lyra-style AnimBP can have 500+ nodes for valid reasons. Use the threshold as a signal, not a hard rule.
- Single-click pings the asset; double-click opens the relevant editor (AnimSequence editor for Compression/Curves, AnimBP editor for Blueprint).
Related tools
Section titled “Related tools”- Blend Space Visualizer — when AnimBPs reference blend spaces with their own issues
- Anim Notify Manager — notify-side analysis complements the compression/curve view
- Control Rig Inspector — when AnimBP complexity points to a Control Rig that’s the real culprit
Report an issue with this tool
Opens our feedback form in a new tab with the tool name pre-filled.