Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Health Check Lite

Unity Health Check Logo

Unity Version License: MIT Platform

A professional Unity editor tool for detecting performance issues and code smells in your projects.

This tool is distributed under the MIT license. ⚠️If you use it in a commercial product, it is appreciated if you include a line in your credits such as: "Unity Health Check Lite by Fernando de Cea (GitHub: link)".⚠️

🎥 Watch Demo Video

Overview

Unity Health Check Lite is a sophisticated editor extension that helps Unity developers identify performance bottlenecks, code quality issues, and architectural problems in their projects. This tool demonstrates advanced Unity editor development techniques while providing real value for project optimization.

⚠️THIS IS A LITE VERSION. COMPLETE VERSION IS AVAILABLE IN Unity Assets Store⚠️ If link is not available yet is because it is on the curation queue

Perfect for: Performance optimization, code reviews, onboarding new team members, and maintaining clean codebases.

Features

🔍 Smart Detection (7 Core Types)

  • Heavy Update Methods - Expensive operations running every frame
  • Find in Update Loops - Costly GameObject.Find calls in Update
  • Component Caching Issues - GetComponent calls that should be cached
  • String Concatenation - GC pressure from string operations in Update
  • Missing Components - Broken script references on GameObjects
  • Empty GameObjects - Unnecessary objects cluttering hierarchy
  • Large Textures - Memory-hungry textures needing optimization

🎛️ Professional Interface

  • Responsive layout with clean IMGUI implementation
  • Severity filtering (Critical/Warning/Info) with color coding
  • Real-time search across all detected issues
  • Pagination system for efficient large dataset handling
  • Smart sorting by severity, type, or modification date
  • One-click navigation to problematic assets
  • Live statistics showing issue distribution

🤖 AI Guidance

  • Educational advice for each detected issue type
  • Best practice recommendations with code examples
  • Performance impact explanations
  • Step-by-step solutions for common problems

📦 Installation

Method 1: Git URL (Recommended)

  1. Open Unity Package Manager (Window > Package Manager)
  2. Click + → Add package from git URL
  3. Enter: https://github.com/decea89/unity-health-check-lite.git

Method 2: Download & Import

  1. Download the latest release
  2. Import the .unitypackage into your project
  3. No additional setup required!

Method 3: Manual Installation

  1. Clone this repository
  2. Copy the Assets/HealthCheck folder to your project's Assets folder

🎯 Quick Start

  1. Open the tool: Tools → Unity Health Check Lite
  2. Configure scan types: All enabled by default, customize as needed
  3. Run analysis: Click "Scan Project"
  4. Review results: Use filters to focus on specific issues
  5. Get guidance: Click "AI Advice" for solutions
  6. Navigate: Use "Select" to jump to problematic assets

📊 Example Results

❌ Performance Issues Detected

// BAD: Heavy operations every frame
void Update() {
    GameObject player = GameObject.Find("Player"); // O(n) search!
    GetComponent<Rigidbody>().AddForce(Vector3.up); // Repeated lookup
    string display = "Score: " + score; // GC allocation
}

// ✅ GOOD: Optimized version  
private GameObject player;
private Rigidbody rb;
void Start() {
    player = GameObject.Find("Player"); // Cache once
    rb = GetComponent<Rigidbody>();
}
void Update() {
    rb.AddForce(Vector3.up); // Use cached reference
}

📈 Before vs After

Metric Before After Improvement
Update Performance 2.5ms 0.3ms 88% faster
GC Allocations 50KB/frame 0KB/frame 100% reduced
Memory Usage 450MB 380MB 15% smaller

🛠️ Technical Highlights

Architecture Excellence

  • Clean separation of concerns with distinct responsibilities
  • SOLID principles applied throughout
  • Extensible design for easy feature additions
  • Professional error handling with graceful degradation

Performance Optimization

  • Efficient algorithms with O(n) complexity considerations
  • Smart caching to avoid repeated expensive operations
  • Memory management with proper resource cleanup
  • Pagination for UI responsiveness

Unity API Mastery

  • AssetDatabase expertise for project-wide scanning
  • Advanced IMGUI techniques with custom styling
  • Regex-based analysis for sophisticated pattern detection
  • Scene management for hierarchy analysis

📋 Detected Issues Reference

Issue Type Severity Performance Impact Common Causes
Heavy Update 🔴 Critical High frame drops Complex calculations, nested loops
Find in Update 🔴 Critical Severe stuttering Object searches every frame
GetComponent in Update 🟠 Warning Minor frame impact Uncached component access
String Concatenation 🟠 Warning GC pressure UI updates, debug logging
Missing Components 🔴 Critical Runtime errors Deleted scripts, broken prefabs
Empty GameObjects 🟡 Info Memory overhead Leftover hierarchy, unused parents
Large Textures 🟠 Warning Memory bloat Unoptimized imports, wrong formats

🤝 Contributing

Contributions are welcome!

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Upgrade to Complete version

This lite version showcases core functionality. The Complete version includes:

🚀 Advanced Features

  • 20+ smell types (vs 7 in Lite)
  • Automated fixes with code generation
  • Live AI integration (OpenAI, Claude, Perplexity)
  • Incremental scanning with progress tracking
  • Custom rules creation and sharing
  • Team collaboration features

🎯 Enterprise Capabilities

  • Build pipeline integration
  • CI/CD integration for automated checks
  • Performance benchmarking with metrics
  • Historical analysis and trend tracking
  • Bulk operations and batch fixes
  • Priority support with direct access

⚠️COMPLETE VERSION IS AVAILABLE IN Unity Assets Store⚠️ If link is not available yet is because it is on the curation queue

Contact: fdc@beanrise.net


⭐ Star this repository if it helps your Unity projects! ⭐

Report Bug • Request Feature • Documentation

About

Professional Unity editor tool for detecting performance issues and code smells. Features smart analysis of Update methods, missing components, large textures, and more with intuitive UI and AI guidance. Lite version showcasing advanced editor development.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages