Is technical debt slowing down your development?
As projects grow, they accumulate "rot": missing scripts on prefabs, uncompressed audio files, duplicate assets, and debug materials left in release builds. Finding these manually is tedious and prone to human error.
Asset Sentinel automates this process. It acts as your project's gatekeeper, scanning thousands of assets in the background without freezing your Editor. It flags critical errors that break builds and optimization warnings that bloat your game size.
Key Features
- Build Guard: Never ship a broken build again. The pre-build processor automatically cancels the build process if Critical Errors (like Missing Scripts or Shader Errors) are detected.
- Asynchronous Scanning: Built on a time-sliced architecture, Sentinel scans massive projects without locking up your UI. Keep working while it scans.
- One-Click Fixes: Many rules implement IFixable. Fix texture compression, audio settings, or clean up empty folders instantly from the dashboard.
- Zero Runtime Overhead: The core system is compiled into a lightweight Editor DLL. No code or overhead is added to your player builds.
- Extensible API: Need project-specific checks? Create Custom Rules easily. The system automatically finds your scripts via reflection—no manual registration required.
- Modern Dashboard: Built with Unity's latest UI Toolkit, offering sortable columns, search filtering, and a clean, native look.
Included Rule Set (26 Built-in Rules)
Critical (Build Safety)
- Missing Script: Detects "Missing Behaviour" on Prefabs and ScriptableObjects.
- Scene in Build: Warns if a .unity file in your Scenes folder is not added to Build Settings.
- Shader Error: Detects materials using the broken (Pink) shader.
- Duplicate Assets: Detects binary identical files to save build size.
Graphics & Art
- Texture Power of Two: Ensures textures are POT for compression.
- Texture Compression: Flags textures set to "Uncompressed".
- Large Textures: Flags textures exceeding safe limits (default 2048px).
- Platform Override: Ensures specific overrides exist for Android/iOS.
- Read/Write Enabled: Flags Meshes with Read/Write enabled (memory waste).
- Mesh Tangents: Disables tangents on meshes without Normal Maps.
- Mesh Collider: Warns against expensive "Generate Mesh Collider" on import.
- Import Scale: Ensures models are imported at 1.0 scale.
- GPU Instancing: Checks if compatible materials have Instancing enabled.
- Double Sided GI: Flags materials with Double Sided Global Illumination enabled (expensive lightmapping).
- Sprite Atlas Size: Warns if Sprite Atlases exceed max texture dimensions.
Audio
- Audio Mono: Forces 3D SFX to Mono to save 50% memory.
- Load Type Optimization: Enforces "Decompress on Load" for short clips and "Streaming" for long music.
Performance & Code
- UI Raycast Target: Flags non-interactive UI elements (Images/Text) that block input.
- Particle System: Checks for excessive Max Particles or expensive Culling modes.
- Static Rigidbody: Flags Static objects that have Rigidbodies (high CPU cost).
- Empty Methods: Detects empty Update() calls in C# scripts.
- Huge Files: Warns about files > 100MB (VCS issues).
- Empty Folders: Detects empty directories cluttering the project.
- Static Mesh Animation: Flags Static objects that have Animator components attached.
Architecture
- Assembly Definition: Warns if a folder contains too many scripts (>20) without an .asmdef.
- Naming Convention: Checks standard prefixes (T_ for Texture, M_ for Material).