Skip to content

MaiKuraki/UnityStarter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

683 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Project Starter

A production-ready, modular Unity project template inspired by Unreal Engine architecture. Built for large-scale commercial game development with performance-first systems, comprehensive tooling, and modern CI/CD workflows.


English | 简体中文

Note

If you find this project helpful, please consider giving it a star ⭐. Thank you!

Unity Unity6 License Ask DeepWiki

Table of Contents

  1. Overview
  2. Architecture
  3. Module Catalog
  4. Getting Started
  5. Technology Stack
  6. Related Projects

Overview

UnityStarter is a battle-tested foundation for professional game projects — not a collection of isolated utilities, but a coherent full-stack game framework. It provides:

  • Complete game architecture — Actor/Pawn/Controller/GameMode pattern from Unreal Engine
  • Full combat system — GAS-inspired abilities, attributes, effects, cooldowns, and costs
  • Production AI — visual behavior tree editor with Burst/DOD scaling to 10,000+ agents
  • Dual-mode networking — state synchronization + lockstep rollback with 5 AOI strategies
  • Performance-first — zero-GC hot paths across all core systems
  • Modular design — 24+ self-contained packages, import only what you need
  • Hot update ready — HybridCLR (C#) + YooAsset/Addressables (assets) + Obfuz (code protection)
  • Developer tooling — custom Roslyn analyzers, build pipeline, cheat console, UI profiler
  • Cross-engine core — key modules target netstandard2.0 with zero Unity API, Godot-ready

Architecture

UnityStarter/
├── Assets/
│   ├── Build/                  # Build pipeline & CI/CD (HybridCLR, Obfuz, YooAsset/Addressables)
│   ├── Plugins/                # Third-party native plugins
│   ├── Settings/               # URP PipelineAssets (Performant / Balanced / HighFidelity)
│   ├── ThirdParty/CycloneGames/ # Core framework (22+ modules, 80+ asmdef)
│   └── UnityStarter/           # Project-specific code & scenes
├── Analyzers/                  # Roslyn analyzers (22 implemented rules) [standalone .sln]
├── Packages/                   # UPM manifest
├── ProjectSettings/            # Unity project configuration
└── Tools/                      # Go utility scripts

Every module follows the same internal structure: Runtime/ (core) → Editor/ (tools) → optional Core/ (engine-agnostic) → optional Integrations/ (cross-module bridges) → Samples/. Each has bilingual README.md + README.SCH.md.

Module Catalog

📚 Each module has detailed documentation at {ModulePath}/README.md. Click the links below to jump directly.

🎮 Gameplay Systems

Module Description Docs
GameplayFramework UE-style Actor/Pawn/Controller/GameMode. DI-friendly, extensible game architecture. README
GameplayAbilities Data-driven ability system (GAS). ScriptableObject abilities, attributes, effects, cost/cooldown, cues. README
GameplayAbilities.Networking Networked GAS: client prediction, rollback, state replication, 14 message types, drift detection. Module directory
GameplayTags Hierarchical tag system. Source-generated, zero-allocation queries, Unity Editor integration. README
BehaviorTree Visual AI behavior tree. GraphView editor, DOD/Burst mass simulation, 30+ nodes, network sync. README
AIPerception Burst-accelerated AI sensors. Visual/deep/proximity queries, spatial grid, 0 GC per tick. README
RPGFoundation RPG extensions: inventory, attributes, quests, 2D/3D movement controllers. Module directory
UIFramework Hierarchical UI with window state machine, MVP support, tween backends, dynamic atlas. README

🏗️ Core Infrastructure

Module Description Docs
Factory High-performance object pooling. Thread-safe, auto-scaling, O(1) operations, DOD variant. README
Logger Structured logging. Multi-threaded, file rotation, pluggable processors, WebGL support. README
AssetManagement Asset loading abstraction. W-TinyLFU cache, YooAsset/Addressables/Resources backends. README
DataTable Config data pipeline. Luban/MessagePack backends, zero-GC O(1) queries, engine-agnostic Core. README
Audio Audio management with Wwise-like API. Bank system, platform profiles, voice policies. README
Localization BCP 47 locale framework. CLDR plurals (25+ languages), fallback chains, pseudo-localization QA. README

🌐 Networking

Module Description Docs
Networking Network abstraction layer. Pluggable transports (Mirror/Mirage), QoS channels, 4 serializers, Burst AOI. README

🕹️ Input & Device

Module Description Docs
InputSystem Reactive input with context stacks. Local multiplayer, device auto-detection, runtime rebinding. README
DeviceFeedback Cross-platform haptics. Mobile vibration (Android/iOS/WebGL), gamepad rumble, device light control. README

🧰 Developer Tools

Module Description Docs
Analyzers Custom Roslyn analyzers. 22 implemented rules across 5 categories, 2 CodeFix providers. README
Cheat Type-safe debug command console. VitalRouter integration, async commands, thread-safe execution. README
Utility Common utilities: FPS counter, safe area, splash screen, file operations. Module directory
Services Service abstractions: camera management, graphics settings, device configuration. Module directory
FontAssets Multilingual font collection. Latin, CJK (Simplified/Traditional/Japanese/Korean). Module directory

🎯 2D & Platform

Module Description Docs
Foundation2D 2D game foundation. Performance benchmarks, platformer components, sprite management. Module directory

🔧 Build & Deployment

Module Description Docs
Build Complete build pipeline. HybridCLR + Obfuz + asset management. CLI-driven, CI/CD ready. README

Getting Started

Prerequisites

  • Unity 2022.3 LTS or later (6000.3 LTS also supported)
  • Git (for automatic versioning in Build module)

Quick Start

git clone https://github.com/MaiKuraki/UnityStarter.git
  1. Open in Unity — point Unity Hub to the UnityStarter/ directory
  2. Explore — start with GameplayFramework to understand the architecture
  3. Read the docs — every module has README.md + README.SCH.md
  4. Configure builds — see Build Module for CI/CD setup

Using Individual Modules

Copy the module folder from UnityStarter/Assets/ThirdParty/CycloneGames/ into your own project. Check the module's README for any dependencies — most modules are self-contained.

Technology Stack

Runtime

Package Purpose
UniTask (Cysharp) Zero-allocation async/await
R3 (Cysharp) Reactive data streams
VContainer (hadashiA) DI/IoC container
VitalRouter (hadashiA) Message routing
VYaml (hadashiA) YAML serialization
LitMotion (annulusgames) Tween animation
PrimeTween Alternative tween backend
MessagePack-CSharp Binary serialization
Unity Debug Sheet (harumak) In-game debug panel

Build & Pipeline

Tool Purpose
HybridCLR C# hot update
YooAsset / Addressables Asset hot update & management
Obfuz / Obfuz4HybridCLR Code obfuscation
Mirror / Mirage Network transports
Navigathena Scene management
Unity MCP AI-assisted development

Related Projects


License: MIT · Support: GitHub Issues

About

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)框架。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors