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.
English | 简体中文
Note
If you find this project helpful, please consider giving it a star ⭐. Thank you!
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
- ✅ 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
📖 Documentation: Each module has comprehensive documentation. See the Module Catalog section for links to detailed guides.
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
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
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
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
Pre-configured adapters for popular dependency injection frameworks:
All listed frameworks have been tested in production environments.
- VContainer (Recommended)
- StrangeIoC
- Extenject (Zenject) (No longer actively maintained)
Note: Switch between Git branches to see implementation examples for each DI framework. The GameplayFramework and Factory modules include DI samples.
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
.
├── 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
All modules follow the same structure:
- Runtime/: Core functionality
- Editor/: Editor tools and utilities
- Samples/: Example implementations
- README.md / README.SCH.md: Comprehensive documentation
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
📚 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.
| Module | Path | Description | Documentation |
|---|---|---|---|
| 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 |
| 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. YooAsset integration, Addressables compatibility, version management. | README.md |
| Audio | CycloneGames.Audio |
High-performance audio management. Wwise-like API, low-GC, advanced features using Unity native audio. | README.md |
| Module | Path | Description | Documentation |
|---|---|---|---|
| InputSystem | CycloneGames.InputSystem |
Reactive input wrapper with context stacks. Local co-op support, device auto-detection, runtime YAML keybind configuration. | README.md |
| UIFramework | CycloneGames.UIFramework |
Hierarchical UI management. Layer-based, MVP architecture, transitions, asset integration. | README.md |
| Module | Path | Description | Documentation |
|---|---|---|---|
| Utility | CycloneGames.Utility |
Common utilities. FPS counter, safe area fitting, file operations, performance tools, splash screen control. | See module directory |
| Service | CycloneGames.Services |
Game service abstractions. Camera management, graphics settings, device configuration with YAML-based settings. | See module directory |
| Cheat | CycloneGames.Cheat |
Type-safe debug command pipeline. VitalRouter integration, async operations, thread-safe execution. | README.md |
| FontAssets | CycloneGames.FontAssets |
Multilingual font collections. Latin, Chinese (Simplified/Traditional), Japanese, Korean character sets. | See module directory |
| Module | Path | Description | Documentation |
|---|---|---|---|
| Build | Assets/Build |
Comprehensive build pipeline. HybridCLR + Obfuz + asset management integration. Full app builds, hot updates with code obfuscation, CI/CD ready. | README.md |
| Module | Path | Description | Documentation |
|---|---|---|---|
| Networking | CycloneGames.Networking |
Network abstraction layer. Mirror adapter, transport/serialization interfaces, ability system integration. | See module directory |
| Module | Path | Description | Documentation |
|---|---|---|---|
| Tools | Tools/ |
Project utilities. Renaming tool, cleanup scripts, common development tasks. | README.md |
- Unity 2022.3 LTS or later
- Git (for automatic versioning in Build module)
- Basic familiarity with Unity and C#
git clone https://github.com/MaiKuraki/UnityStarter.gitIf using as a full project template:
- Locate
Tools/Executable/rename_projectexecutable - Copy it to
UnityStarter/directory - Run from command line - it will guide you through:
- Project folder renaming
- Company name updates
- Application name changes
- Configuration file updates
- Open Your Project from UnityHub
- Start with Core Modules: Begin with
GameplayFramework - Read Documentation: Each module has a
README.mdin its directory - Check Samples: Most modules include sample scenes and scripts
- Configure Build: See Build Module Documentation for setup
If you only need specific modules:
Recommended Method (Package Manager):
- Copy module folder outside your
Assetsdirectory - In Unity: Window > Package Manager
- Click + > Add package from disk...
- Select the module's
package.jsonfile
Simple Method (Direct Copy):
- Copy module folder from
UnityStarter/Assets/ThirdParty/CycloneGames/ - Paste into your project's
Assetsfolder
💡 Tip: Check each module's README for specific setup instructions and dependencies.
- Unity: 2022.3 LTS+
- UniTask: Async/await for Unity (GitHub)
- R3: Reactive programming (GitHub)
- LitMotion: Animation/tweening (GitHub)
- VYaml: YAML serialization (GitHub)
- VitalRouter: Message bus (GitHub)
- HybridCLR: C# hot-update (GitHub)
- Obfuz: Code obfuscation (GitHub)
- Obfuz4HybridCLR: Obfuz extension for HybridCLR (GitHub)
- YooAsset: Asset management (GitHub)
- Addressables: Unity's asset management (via Package Manager)
- Mirror: Networking (GitHub)
- Navigathena: Scene management (GitHub)
- MessagePack: Binary serialization (GitHub)
See
UnityStarter/Packages/manifest.jsonfor complete dependency list.
Projects built using this template:
- Rhythm Pulse - Collection of rhythm game mechanics and gameplay types
- Unity Gameplay Ability System Sample - Example project demonstrating GAS implementation
📚 Each module has comprehensive documentation in its directory.
- Navigate to Module Directory:
UnityStarter/Assets/ThirdParty/CycloneGames/CycloneGames.{ModuleName}/ - Look for README Files:
README.md- English documentationREADME.SCH.md- Simplified Chinese documentation
- Check Samples Folder: Most modules include example implementations
- GameplayFramework - Complete guide to Actor/Pawn/Controller architecture
- GameplayAbilities - GAS system tutorial with step-by-step examples
- Build - Build pipeline setup and CI/CD integration
- InputSystem - Input system configuration and usage
- UIFramework - UI framework architecture and examples
- AssetManagement - Asset loading and version management
License: See LICENSE file for details.
Support: For questions and discussions, please open an issue on GitHub.