Clean Up Your UE5 Project with UnrealPilot
Projects accumulate cruft. Unused assets, redundant actors, disorganized folders. UnrealPilot finds and fixes the mess.
The Project Entropy Problem
Every project starts clean. Organized folders, meaningful names, no cruft. Six months later? A different story. Test assets never deleted. Duplicated materials. Blueprints from abandoned features. Actors placed for debugging left in production levels.
The mess has real costs:
- Build times: Cooking unused assets wastes minutes on every build
- Package size: Unused content ships to players
- Team confusion: Which asset is the real one?
- Performance: Unnecessary actors affect level load times
Cleaning up manually is tedious. You need to check references, verify nothing uses the asset, coordinate with team members. UnrealPilot handles this systematically.
Finding Unused Assets
The Reference Problem
Unreal's Reference Viewer shows what uses an asset. But checking every asset individually? With hundreds or thousands of assets, that's not practical.
UnrealPilot scans your entire project:
"Find all unused assets in the project"It checks:
- Direct references (Blueprint uses Material)
- Indirect references (Material uses Texture used by Blueprint)
- Level references (actors placed in any map)
- Code references (C++ hard references)
- Data Table references (row references to assets)
- Soft references (TSoftObjectPtr, asset paths in properties)
Filtered Searches
Target specific asset types:
"Find unused textures over 1MB""Find materials not used in any level""Find Blueprint classes never spawned or placed""Find sound files not referenced by any cue"Understanding Results
UnrealPilot doesn't just list unused assets—it explains why it thinks they're unused:
Potentially Unused Assets:
T_Character_OldDesign.uasset
Status: No references found
Last Modified: 4 months ago
Size: 4.2 MB
Recommendation: Safe to delete
M_Environment_Test.uasset
Status: Referenced only by deleted level
Note: Level L_TestMap was deleted but material remains
Recommendation: Verify not needed, then delete
BP_Enemy_V2.uasset
Status: No level placements, no spawn references
Note: Similar to BP_Enemy which IS used
Recommendation: May be deprecated version, verify before deleteBulk Deletion
After reviewing the list:
"Delete all assets marked safe to delete"UnrealPilot performs the deletion through proper editor APIs, handling:
- Source control integration (marks for delete)
- Redirector cleanup
- Reference verification before each delete
- Rollback capability if something goes wrong
Removing Redundant Actors
Level Cleanup
Levels accumulate actors that shouldn't be there:
"Find debug actors left in production levels"UnrealPilot identifies:
- Actors with "Debug," "Test," or "Temp" in their names
- Print String nodes that fire in production
- Visualization actors (debug spheres, arrows)
- Disabled actors that serve no purpose
Duplicate Detection
"Find duplicate actors at the same location"Common after copy-paste operations: two identical static meshes occupying the same space, causing z-fighting or double rendering.
UnrealPilot finds actors where:
- Same class and transform (exact duplicates)
- Same mesh at same location (duplicate placements)
- Overlapping collision without purpose
Hidden Actor Audit
"List all hidden actors and why they might be hidden"Hidden actors often indicate unfinished work or debugging remnants. The audit categorizes them:
- Intentionally hidden (runtime visibility toggle)
- Hidden in editor only (development helpers)
- Hidden and probably forgotten
Content Organization
Folder Structure Analysis
"Analyze project folder structure and suggest improvements"UnrealPilot evaluates against common UE5 conventions:
Content/
├── Characters/
│ ├── Player/
│ └── Enemies/
├── Environment/
│ ├── Meshes/
│ ├── Materials/
│ └── Textures/
├── UI/
├── Audio/
├── Effects/
└── Blueprints/It identifies:
- Assets in wrong folders (textures in Blueprints folder)
- Inconsistent naming conventions
- Overly deep folder hierarchies
- Orphaned folders with few assets
Asset Relocation
"Move all textures to appropriate texture folders"UnrealPilot moves assets and:
- Updates all references automatically
- Creates redirectors for external references
- Preserves source control history
- Reports any references that couldn't be updated
Naming Convention Enforcement
"Rename assets to follow Epic naming conventions"Standard prefixes:
BP_ - Blueprint
M_ - Material
MI_ - Material Instance
T_ - Texture
S_ - Struct
E_ - Enum
WBP_ - Widget Blueprint
SK_ - Skeletal Mesh
SM_ - Static Mesh
A_ - Animation
ABP_ - Animation BlueprintUnrealPilot renames assets, updates references, and logs all changes.
Blueprint Cleanup
Dead Code Detection
"Find Blueprint nodes that never execute"Dead code in Blueprints:
- Disconnected node clusters
- Branches that always evaluate the same way
- Events that nothing calls
- Functions with no callers
Variable Cleanup
"Find unused variables in all Blueprints"Variables that are declared but never read or written. Often remnants of refactored code.
Component Audit
"Find components that serve no purpose"Components that:
- Have no connections to other nodes
- Are hidden and not used in code
- Duplicate functionality of other components
Material and Texture Optimization
Texture Analysis
"Find texture optimization opportunities"UnrealPilot identifies:
- Oversized textures for their use case
- Textures without proper compression settings
- Duplicate textures with different names
- Unused mip levels that could be stripped
Material Instance Consolidation
"Find material instances that could share a parent"Multiple similar materials often should be instances of a shared parent. Consolidation reduces shader compilation and improves batching.
Texture Size Report
"Generate texture memory report by folder"See where texture memory goes:
Texture Memory Usage:
Characters/: 245 MB
└── Player/: 120 MB
└── T_Player_Albedo (4K): 85 MB ← Consider 2K
└── Enemies/: 125 MB
Environment/: 890 MB
└── Props/: 340 MB
└── Many 4K textures for small objects
UI/: 45 MBLevel Organization
Actor Categorization
"Organize actors into folders by type"Creates World Outliner folders:
Level
├── Lighting/
│ ├── DirectionalLight
│ └── PointLights (12)
├── Geometry/
│ ├── Floors (24)
│ └── Walls (67)
├── Gameplay/
│ ├── Spawners (4)
│ └── Triggers (8)
└── Environment/
├── Foliage (234)
└── Props (89)Layer Setup
"Create layers for different content types"Useful for:
- Hiding categories while editing
- Selective cooking for different platforms
- Team workflow (environment vs gameplay)
Sublevel Organization
"Suggest sublevel breakdown for this level"Large levels should use streaming sublevels. UnrealPilot analyzes actor distribution and suggests logical partitioning.
Source Control Integration
Safe Cleanup with Perforce/Git
UnrealPilot operations integrate with source control:
"Delete unused assets (check out and mark for delete)""Rename assets (check out, rename, update references)"All changes are staged, not committed, letting you review before submitting.
Cleanup Changelists
"Create changelist for project cleanup"Groups cleanup changes into a single, reviewable changelist with descriptive commit message.
Automated Cleanup Reports
Health Check
"Run project health check"Comprehensive report covering:
- Unused asset count and size
- Naming convention violations
- Folder structure issues
- Blueprint warnings
- Material complexity outliers
- Texture memory distribution
Before-Release Audit
"Pre-release cleanup audit"Focused on shipping concerns:
- Debug/test content that shouldn't ship
- Development-only assets
- Placeholder content
- Console commands exposed
- Print statements active
Incremental Cleanup
Big cleanup sessions are disruptive. Better: continuous maintenance.
Weekly Checks
"Find assets added this week that violate naming conventions""Find new unused assets from recent imports"Catch problems when they're small, not after they've multiplied.
Pre-Commit Validation
"Validate these assets before I commit"Check specific assets against project standards before they enter source control.
Real Cleanup Example
Here's a typical cleanup session:
User: "Run full project cleanup analysis"
UnrealPilot:
Project Analysis Complete
Unused Assets: 47 (312 MB)
- 23 textures (245 MB)
- 12 materials
- 8 meshes
- 4 blueprints
Naming Issues: 34 assets
- Missing prefix: 28
- Wrong prefix: 6
Folder Issues: 12
- Textures in wrong folder: 8
- Empty folders: 4
Blueprint Issues: 7
- Unused variables: 15 across 5 BPs
- Dead code: 2 BPs
Recommendations:
1. Delete 47 unused assets (saves 312 MB build size)
2. Rename 34 assets to match conventions
3. Relocate 8 textures to proper folders
4. Clean up Blueprint dead code
Shall I proceed with any of these?
User: "Delete unused assets and rename to match conventions"
UnrealPilot:
Executing cleanup...
- Deleted 47 assets
- Renamed 34 assets
- Updated 89 references
- Created cleanup changelist CL#12847
Changes staged for review. No files committed.Summary
Project cleanup is necessary but tedious. The manual process—checking references, verifying safety, updating names—takes hours and is easy to skip. So projects get messier over time.
UnrealPilot makes cleanup practical. Describe what you want cleaned, review the changes, approve. The AI handles the tedious reference checking and bulk operations. You keep your project healthy without losing development time.