Chozabu - Destructive Profiler

Destructive Profiler measures actor cost the way you'd measure it manually: it removes actors from the scene and watches the frame time change.

Pick a target group type (actor class, static mesh, or both), start PIE, click Start Run. The plugin destroys each group in turn, lets the world settle, samples frame / GT / RT / GPU time, then moves on. When the run ends you get a sortable table — and a timestamped CSV — of how much frame time each group was costing.

Features:

• Group by actor class, by static mesh referenced by StaticMeshActor, or both

• Sortable results table; right-click any row to jump to the asset or first editor-world instance

• CSV written to Saved/Profiling/DestructiveProfiler/ after every run

• Configurable warmup / settle / sample seconds

• Optional simulation freeze (slomo ≈ 0) so deltas reflect rendering cost rather than gameplay variance

• Optional camera lock for consistent framing across phases

• Optional restorative mode that respawns destroyed actors between targets, so each is measured against the original scene

• Default + extra exclusion lists (PlayerController, GameMode, etc.)

• Searchable settings panel

Why "destructive":

stat unit and Insights show what's running. They don't show what would change if you removed something. Destructive Profiler measures that directly.

Compatibility:

• Unreal Engine 5

• Editor-only — no runtime cost in cooked builds

• Windows, Mac, Linux (only tested on windows)

• Source included