Skip to content

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.

Screenshot 01 — Hero shot — Auditor open on the Compression tab with a populated, sorted list. Tab bar visible at top showing Compression / Curves / Blueprint.


  • 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
  • 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

  1. Open the EQLabs Hub and search for Animation Auditor (or browse to Animation → AnimBP)
  2. Click the tool card
  3. Use the tab bar to pick Compression, Curves, or Blueprint

Project-wide AnimSequence compression audit.

SectionWhat it does
Scan PathFolder to scan recursively
Single Anim PathOptional — scan a single AnimSequence instead of a folder
Search boxFilter by name
Problems Only checkboxHide healthy entries
ScanWalks AnimSequences and computes compression metrics
Export CSVSaves the result set to a CSV file
Apply Compression to SelectedBatch-applies compression settings to selected rows
Sortable column headersSort by size, ratio, or severity
StatsTotal animations, total size (KB), warning count, critical count
Results listPer-anim row: name, scheme, duration, frames, bones, curves, compressed size, ratio, additive flag, severity, suggestion
SeverityMeaning
GoodReasonable size, sensible compression scheme
WarningOver the size threshold (512 KB by default), or compression ratio is suspiciously poor
CriticalUncompressed or dramatically oversize

Screenshot 02 — Compression tab sorted by size — Compression results sorted descending by Compressed Size, top entries showing Critical severity.

  1. Pick a scan path (or a single anim), click Scan
  2. Sort by size or severity, walk the worst offenders
  3. Select rows that share the same compression issue, click Apply Compression to Selected with the right scheme
  4. Save All afterward

Find unused or flat curves wasting memory.

SectionWhat it does
Scan buttonWalks every AnimSequence and inspects every embedded curve
Search boxFilter by curve or animation name
Flat Only checkboxHide curves with real animation
Near-Zero Only checkboxHide curves above the near-zero threshold
Near-Zero ThresholdAmplitude below which a curve is “near zero”. Default 0.01.
Select All Flat buttonConvenience — select every flat-curve row for batch removal
Remove Selected buttonStrips selected curves from their source animations. Undoable.
StatsTotal curves, flat count, near-zero count, anims scanned
Results listPer-curve row: anim name, curve name, key count, min/max value, amplitude, flat/near-zero flags
FlagMeaning
FlatAll keys have the same value — curve contributes nothing
Near ZeroMaximum absolute value is below the threshold — curve contributes effectively nothing

Screenshot 03 — Curves tab — Curve audit results with Flat-Only filter applied, Select All Flat + Remove Selected buttons visible.

  1. Click Scan
  2. Toggle Flat Only and click Select All Flat
  3. Click Remove Selected, Save All
  4. Re-scan to confirm the curve count dropped

Walks every Animation Blueprint for state-machine and complexity issues.

SectionWhat it doesDefault
Scan PathFolder to scan/Game
State Warning ThresholdState count at which a state machine is flagged15
Node Warning ThresholdTotal node count above which the AnimBP is flagged100
Scan buttonWalks every UAnimBlueprint and analyzes its graphs
Results listPer-AnimBP row: name, state machine count, total states, transitions, total nodes, linked graphs, blend nodes, severity, suggestion
  • 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
SeverityMeaning
OKWithin thresholds, no issues
WarningCrossed at least one threshold
CriticalMultiple severe issues, or a count well past the threshold
  1. Pick a scan path, click Scan
  2. Sort by total nodes — the heaviest AnimBPs appear at the top
  3. For Warning/Critical entries, open the AnimBP in UE’s editor (double-click) and refactor

FieldDefault
Scan Path/Game
Large Size Threshold (KB)512
Problems Onlyfalse
FieldDefault
Near-Zero Threshold0.01
Flat Onlyfalse
Near-Zero Onlyfalse
FieldDefault
Scan Path/Game
State Warning Threshold15
Node Warning Threshold100

Settings are persisted to [Project]/Saved/EQLabs/Settings/AnimationAuditor.json.


  • 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

  • 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).


Report an issue with this tool

Opens our feedback form in a new tab with the tool name pre-filled.