Garbage Asset Finder
Technical Information
The following section contains all technical details required by Fab Technical Requirements for plugin submission.
- Scan level for Buried, Hidden, and Overlapping actors
- Dockable tab integrated directly into the Level Editor
- Severity levels: Critical, Warning, and Info
- Filter results by Issue type, Mesh Type, and Severity
- Real-time actor name search
- Viewport highlight on row selection
- Auto-fix Buried actors (moves them above ground)
- Remove selected actors with full Undo support (Ctrl+Z)
- Export results to a timestamped CSV report
- Undo History panel showing last 5 operations
- Configurable detection thresholds via Settings panel
- Settings persisted between sessions via .ini file
What is Garbage Asset Finder?
Garbage Asset Finder automatically scans your Unreal Engine level and detects actors that waste memory and draw calls without contributing to the visual output. It integrates as a dockable tab inside the Level Editor — just like the Content Browser or Details panel.
- Scan for Buried, Hidden, and Overlapping actors
- Dockable tab inside the Level Editor
- Severity levels: Critical, Warning, Info
- Filter by Issue, Mesh Type, and Severity
- Real-time actor name search
- Viewport highlight on selection
- Auto-fix Buried actors above ground
- Remove actors with full Ctrl+Z undo
- Export results to CSV report
- Undo History panel
- Configurable detection thresholds
- Settings persisted via .ini file
System Requirements
| Requirement | Details |
|---|---|
| Unreal Engine | 5.6 |
| Python Script Plugin | Must be enabled — included with UE5 by default, no separate install needed |
| Visual Studio | 2022 with C++ Game Development workload (for first-time compilation) |
| Platform | Windows 64-bit only |
| Build Type | Editor only — not available in packaged builds |
| Dependencies | None — no third-party libraries required |
Getting the Plugin Running
Place GarbageAssetFinder/ inside your project's Plugins/ directory. Create the folder if it doesn't exist.
Open your project. Unreal will ask to rebuild missing modules — click Yes and wait 1–2 minutes.
Edit → Plugins → Search "Garbage Asset Finder" → Enable → Restart Editor
Edit → Plugins → Search "Python Script Plugin" → Ensure it is Enabled
After restart, the Garbage Finder button appears in the Level Editor toolbar. Click it to open the panel.
No extra setup needed. The plugin uses Unreal's built-in Python Script Plugin and Slate UI framework. No third-party libraries or external tools required.
The Main Panel
After clicking Scan Level, the panel fills with results. Every element is shown in the mockup below.
How Each Issue is Detected
🔴 Buried
Flagged when an actor's Z world position is below the configured threshold (default: −30 cm). Typically happens when assets are accidentally dragged below the landscape or a world origin shift moves actors underground.
Note: If your buried actors are at e.g. Z = −620 cm, set the Buried Z Threshold above −620 in Settings. The slider range goes down to −2000 cm.
🟡 Hidden
Flagged when the actor's entire bounding box is contained within the bounding box of another actor of the same class, with a 2 cm margin on all sides. The Landscape is excluded as a container to avoid false positives.
🟣 Overlapping
Flagged when two actors of the same class have bounding boxes that intersect by more than the configured Overlap Threshold %. Calculated as a percentage of the smaller actor's footprint area.
Understanding Severity
Every flagged actor is assigned a severity to help you prioritize fixes.
| Severity | Assigned When | Recommended Action |
|---|---|---|
| Critical | Actor is Hidden or Buried very deep (Z < threshold × 3) | Fix immediately — zero visual value |
| Warning | Actor is Buried at a moderate depth | Review and remove or reposition |
| Info | Actor is Overlapping with a same-class actor | Review — may be intentional |
Running Your First Scan
Click Scan Level to start. A progress dialog shows which actor is being checked. You can cancel at any time. After the scan, results appear in the list sorted by detection order.
Viewport Highlight: Selecting rows in the results list automatically highlights those actors in the Level Viewport using Unreal's standard selection outline — so you can immediately see where they are.
Tuning Detection Thresholds
Click Settings in the toolbar. After changing any value, press Apply Settings then run Scan Level again.
| Setting | Default | Range | Description |
|---|---|---|---|
| Buried Z Threshold | -30 cm | -2000 to 0 | Actors with Z below this are flagged as buried |
| Overlap Threshold % | 10% | 1–100 | Min bounding box overlap % to flag as overlapping |
| Trace Half-Extent | 500 cm | 100–2000 | How far to trace when checking if actor is hidden |
| Hidden Min Directions | 5 | 1–6 | Minimum of 6 directions that must be blocked |
Narrowing Down Results
All four filters work simultaneously. For example: search for SM_Rock while filtering by Buried and Critical at the same time.
| Filter | Options | Use Case |
|---|---|---|
| Search Box | Any text | Find a specific actor by name (case-insensitive) |
| Issue Filter | All / Buried / Hidden / Overlapping | Focus on one problem type at a time |
| Type Filter | All / StaticMesh / Blueprint / Particle / Other | Isolate geometry vs Blueprint actors |
| Severity Filter | All / Critical / Warning / Info | Prioritize the most impactful issues first |
What Each Button Does
Per-Row Actions
| Button | Description |
|---|---|
| Focus | Selects the actor and moves the Level Editor viewport camera to its location |
| Fix | Moves the actor above ground. Only enabled for Buried actors. Fully undoable via Ctrl+Z |
| Remove | Destroys the actor from the level. Fully undoable via Ctrl+Z |
Bulk Actions (Bottom Bar)
| Button | Description |
|---|---|
| Select All | Selects all rows currently visible in the list, respecting active filters |
| Focus Selected | Selects all checked actors and moves the viewport to the first one |
| Auto-fix Buried | Moves all selected Buried actors above ground in a single undo-able transaction |
| Export CSV | Saves all current scan results to a timestamped CSV file in the project Saved/ folder |
| Remove Selected | Destroys all selected actors in a single undo-able transaction |
Saving Results & Tracking Operations
Click Export CSV to save all scan results. The file is saved to:
YourProject/Saved/GarbageFinder_Report_YYYYMMDD_HHMMSS.csv
| CSV Column | Description |
|---|---|
| Actor Name | The actor's display label in the level |
| Class | The actor's C++ class name |
| Mesh Type | StaticMesh / Blueprint / Particle / Other |
| Issue | Buried / Hidden / Overlapping |
| Severity | Critical / Warning / Info |
| Detail | Additional info (e.g. Z position for buried actors) |
| X, Y, Z | World position of the actor in centimeters |
Undo History
The Undo History panel shows the last 5 plugin operations with timestamps and actor counts. For full actor restoration, use Unreal's standard Ctrl+Z.
Common Issues & Fixes
Toolbar button is not visible
Ensure the plugin is enabled: Edit → Plugins → Garbage Asset Finder → Enable → Restart. Also verify the Python Script Plugin is enabled in the same menu.
Scan completes but shows 0 results
Check Window → Output Log after scanning. You should see [GarbageFinder] Buried=X | Hidden=Y | Overlapping=Z. If nothing appears, verify scan_and_return.py exists in Plugins/GarbageAssetFinder/Content/Python/.
Settings changes have no effect
After adjusting sliders, click Apply Settings then run Scan Level again. Changes are never applied retroactively to existing results.
Hidden detection has false positives
Increase Hidden Min Blocked Directions to 6 in Settings. The tool only compares actors of the same C++ class — Landscape is always excluded as a container.
Build error on first compile
Right-click the .uproject file → Generate Visual Studio project files, then open the solution and Build. Ensure Visual Studio 2022 is installed with the C++ Game Development workload.
Frequently Asked Questions
Does the tool permanently modify my assets?
No. The scan adds temporary actor tags (GAF_Buried, GAF_Hidden, GAF_Overlapping) cleared at every scan. Remove and Fix operations support full Ctrl+Z undo.
Will it work on large open-world levels?
Yes, but scan time scales with actor count. For very large levels with thousands of actors, the scan may take several minutes. You can cancel at any time via the progress dialog.
Why are Landscape and lighting actors excluded?
The following types are excluded by design: Landscape, LandscapeProxy, all light types (Directional, Sky, Point, Spot, Rect), SkyAtmosphere, ExponentialHeightFog, VolumetricCloud, GameModeBase, PlayerController.
Can I use this on UE 5.0–5.5?
The plugin is built and tested for UE 5.6 specifically. It may compile on earlier 5.x versions with minor source modifications, but this is not officially supported.
The Fix button is greyed out. Why?
The Fix button is only enabled for Buried actors. Hidden and Overlapping actors require manual review as there is no single automatic resolution applicable in all cases.