UnityStarter
A production-ready, modular Unity framework with UE-inspired Gameplay Ability System, zero-GC infrastructure, and hot-update support. Battle-tested, DI-friendly, and cross-platform optimized. 一个高性能、高拓展性、高度优化、支持热更新、功能强大的 Unity 启动模板。具有类虚幻引擎的 GameplayFramework 与 GAS 设计,高度兼容各类控制反转(IoC/DI)框架。
Install / Use
/learn @MaiKuraki/UnityStarterREADME
Unity Project Starter Template
A production-ready, modular Unity project template that provides a solid foundation for game development. Inspired by Unreal Engine architecture patterns, this template integrates proven gameplay systems, high-performance infrastructure, and modern development workflows.
<p align="left"><br> English | <a href="README.SCH.md">简体中文</a></p>[!NOTE]
If you find this project helpful, please consider giving it a star ⭐. Thank you!
Table of Contents
Overview
This template is designed for developers who want to start with a professional, battle-tested foundation rather than building everything from scratch. It provides:
- Modular Architecture: All systems are decoupled Unity Packages with independent Assembly Definitions
- Unreal Engine Patterns: Proven architecture concepts (Gameplay Framework, GAS, Gameplay Tags)
- Performance-First: Zero/low-GC systems for critical paths
- Production-Ready: Tested in commercial projects, CI/CD ready, cross-platform optimized
- Developer-Friendly: Comprehensive documentation, clear examples, flexible DI/IoC support
What This Template Provides
- ✅ Complete gameplay framework (Actor/Pawn/Controller/GameMode pattern)
- ✅ Data-driven ability system (GAS-inspired)
- ✅ High-performance infrastructure (logging, pooling, audio)
- ✅ Hot update solution (code + assets)
- ✅ Code obfuscation integration (Obfuz) for code protection
- ✅ Build pipeline with CI/CD integration
- ✅ Modern input system with context stacks
- ✅ UI framework with hierarchical management and MVP architecture support
- ✅ Cross-platform device feedback (haptics, rumble, lighting)
📖 Documentation: Each module has comprehensive documentation. See the Module Catalog section for links to detailed guides.
Key Features
Modular Design
Every system is a self-contained Unity Package. Import only what you need, remove what you don't. Each module has:
- Independent Assembly Definition (asmdef)
- Complete package.json configuration
- Comprehensive documentation
- Sample implementations
Unreal Engine-Inspired Architecture
Implements proven patterns from Unreal Engine:
- Gameplay Framework: Actor/Pawn/Controller separation for scalable game architecture
- Gameplay Ability System: Data-driven abilities, attributes, and effects
- Gameplay Tags: Hierarchical tag system for decoupled game logic
Performance-Oriented
Critical systems are optimized for GC:
- Logger: Zero-GC multi-threaded logging with file rotation
- Factory: High-performance object pooling with O(1) operations
- Audio: Low-GC audio management with Wwise-like API
Hot Update Ready
Complete solution for updating games without app store resubmission:
- HybridCLR: C# code hot-updates via DLL compilation
- Asset Management: YooAsset or Addressables for asset hot-updates
- Code Protection: Integrated Obfuz obfuscation for hot update assemblies
- Unified Pipeline: Streamlined build workflow for rapid iteration
DI/IoC Support
Pre-configured adapters for popular dependency injection frameworks:
[!NOTE]
All listed frameworks have been tested in production environments.
- VContainer (Recommended)
- StrangeIoC
- Extenject (Zenject) (No longer actively maintained)
<img src="./Docs/ProjectDescription/Main/Des_01.png" alt="Branch Select" style="width: 50%; height: auto; max-width: 360px;" />Note: Switch between Git branches to see implementation examples for each DI framework. The GameplayFramework and Factory modules include DI samples.
CI/CD Integration
Command-line build interface for automated pipelines:
- Automatic versioning from Git
- Multi-platform builds (Windows, Mac, Android, WebGL)
- Hot update build workflows with optional code obfuscation
- Integration with Jenkins, TeamCity, GitHub Actions
Architecture
Project Structure
.
├── Docs/ # Project documentation
├── Tools/ # Utility scripts (renaming, cleanup, etc.)
└── UnityStarter/ # Unity project root
├── Assets/
│ ├── Build/ # Build pipeline & hot update
│ │ └── [See Build/README.md for details]
│ └── ThirdParty/
│ └── CycloneGames/ # Core framework modules
│ └── [Each module has its own README]
├── Packages/ # Package manifests
└── ProjectSettings/ # Unity settings
Module Organization
All modules follow the same structure:
- Runtime/: Core functionality
- Editor/: Editor tools and utilities
- Samples/: Example implementations
- README.md / README.SCH.md: Comprehensive documentation
Dependency Management
Modules are designed to be:
- Loosely Coupled: Minimal dependencies between modules
- Optional: Most modules can work independently
- Composable: Mix and match based on your needs
Module Catalog
📚 Important: Each module has detailed documentation in its directory. Click the module name to view its README, or navigate to
{ModulePath}/README.mdfor comprehensive guides.
🎮 Gameplay Systems
| Module | Path | Description | Documentation |
| --------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| UIFramework | CycloneGames.UIFramework | Hierarchical UI management. Layer-based, MVP architecture, transitions, asset integration. | README.md |
| GameplayFramework | CycloneGames.GameplayFramework | UE-style gameplay architecture (Actor/Pawn/Controller/GameMode). DI-friendly, scalable foundation for game projects. | README.md |
| GameplayAbilities | CycloneGames.GameplayAbilities | Data-driven ability system (GAS-inspired). ScriptableObject-based abilities, attributes, effects, and status management. | README.md |
| GameplayTags | CycloneGames.GameplayTags | Hierarchical tag system for decoupled game logic. Runtime registration, auto-generation, and tag-based queries. | README.md |
| RPGFoundation | CycloneGames.RPGFoundation | RPG-specific extensions (movement, combat, etc.). Foundation components for RPG-type games. | See module directory |
| BehaviorTree | CycloneGames.BehaviorTree | AI behavior tree system. Visual editor, ScriptableObject-based, optimized for mobile devices. | README.md |
🏗️ Core Infrastructure
| Module | Path | Description | Documentation |
| ------------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Factory | CycloneGames.Factory | High-performance object pooling. Thread-safe, auto-scaling pools with O(1) operations. Zero-GC allocation. | README.md |
| Logger | CycloneGames.Logger | Zero-GC logging system. Multi-threaded, file rotation, cross-platform (including WebGL). Pluggable processors. | README.md |
| AssetManagement | CycloneGames.AssetManagement | DI-first asset loading abstraction with W-TinyLFU cache, And seamless YooAsset/Addressables integration. | README.md |
| Audio | CycloneGames.Audio | High-performance audio management. Wwise-like API, low-GC, advanced features using Unity native audio. | README.md |
🕹️ Input & Device Interaction
| Module | Path | Description
