UnityStarter

MaiKurakiMIT活跃维护

生产级模块化 Unity 游戏框架,内置类虚幻 GAS 玩法能力系统、零 GC 核心、HybridCLR 热更新和 Luban 配置管线,帮团队把构建、图集和 CI 流程做成数据驱动。

Production-ready modular Unity framework: UE-inspired Gameplay Ability System, zero-GC core, HybridCLR hot-update, Luban config pipeline, data-driven build & atlas workflows. DI-friendly, deterministic, cross-platform, CI-ready. 生产级模块化 Unity 框架:类虚幻引擎 GAS 玩法能力系统 · 零 GC 核心 · HybridCLR 热更新 · Luban 配置管线 · 数据驱动构建与图集工作流。DI 友好 · 确定性构建 · 跨平台 · CI 就绪。

v1.0.0发布于 2025-09-03 12:30 UTC792star +1 / 7 天17fork同步于 2026-11-10 17:55 UTC

怎么上手

由 README 提炼,执行前请确认
Unity -batchmode -quit -projectPath UnityStarter -executeMethod Build.Pipeline.Editor.BuildEntryPoints.RunCommandLine -buildTarget Win64 -pipelineProfile Assets/UnityStarter/Editor/Build/BuildData.asset -pipelineOutput Build/Windows/Release/UnityStarter.exe -pipelineClean
硬件要求按 README 说明

README 未说明硬件要求,仅标注 Unity 2022.3 LTS 与 Unity 6000.x 兼容

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

面向中大型长期 Unity 项目的模块化框架,按虚幻引擎玩法模型拆分模块,可整体当模板也可按 UPM 包按需引入

生产级模块化 Unity 游戏框架,内置类虚幻 GAS 玩法能力系统、零 GC 核心、HybridCLR 热更新和 Luban 配置管线,帮团队把构建、图集和 CI 流程做成数据驱动。

核心能力

  • 按 Actor/Pawn/Controller/GameMode 拆分 GameplayFramework
  • 提供 GameplayAbilities 与 GameplayTags 能力与标签原语
  • 每个模块独立 UPM 包与 asmdef,未引用模块不进编译和构建
  • 核心逻辑尽量不依赖引擎,可在 EditMode 与 CLI 中运行
  • 内置 20+ 条 Roslyn 分析规则与项目级 ruleset

容易踩的坑

网络模块标注为实验性,生产使用前需自行做端到端验证;批处理与发布构建需要 Git 或 Perforce 版本信息,仅交互式 Development 构建可用 LocalDevelopment 回退;HybridCLR、Obfuz、YooAsset 3、Addressables 均为可选集成,未安装时相关热更功能不可用

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

1 个版本v1.0.0
  1. v1.0.0First Release最新正式版2025-09-03 · 2025-09-03 12:30 UTC

    UnityStarter v1.0.0 Release Notes

    This release marks the first stable version of UnityStarter. All core systems have been thoroughly tested and are considered feature-complete. Comprehensive documentation for each module is also included, providing clear guidance on their usage and functionality.


    Key Strengths

    • Highly Modular Architecture: Inspired by Unreal Engine, the framework is divided into independent modules (e.g., Asset Management, UI Framework, Audio, Gameplay Abilities), ensuring high cohesion and low coupling for better scalability and maintenance.
    • Powerful Gameplay Abilities System (GAS): Features a complete, robust implementation of a Gameplay Abilities System, including Gameplay Tags, Attributes, Gameplay Effects, and Abilities. This makes it straightforward to develop complex character skills and status effects.
    • Solid Gameplay Framework: Provides a reliable foundation with core concepts like GameMode, World, Controller, and Pawn, streamlining the development of game logic and player management.
    • Extensible and Production-Ready: Designed with extensibility at its core. Each system can be easily replaced or extended to meet the specific needs of any project, making it suitable for production environments.
    • Developer-Friendly Tooling: Includes practical tools for common tasks such as project renaming and full cleaning, significantly enhancing development efficiency and workflow.
    • CI/CD Ready: Features automated packaging and version number display, making it easy to integrate with CI/CD pipelines for streamlined builds and deployments.


    UnityStarter v1.0.0 发布说明

    本次发布标志着 UnityStarter 的第一个稳定版本。所有核心系统均经过全面测试,功能完善。同时,每个模块都包含了详尽的文档,为使用者提供了清晰的功能和用法说明。


    项目核心优势

    • 高度模块化架构: 设计灵感来源于Unreal Engine,整个框架被拆分为独立的模块(如资产管理、UI框架、音频、游戏能力系统等),保证了系统的高内聚和低耦合,易于扩展和维护。
    • 强大的游戏能力系统 (GAS): 拥有完整的游戏能力系统实现,包含 GameplayTag、Attribute、GameplayEffect 和 GameplayAbility。可以轻松实现复杂的角色技能和状态效果系统。
    • 完善的游戏框架: 提供了 GameMode、World、Controller、Pawn 等核心概念,为游戏逻辑和玩家管理提供了坚实的基础,使开发流程更加清晰。
    • 易于扩展,生产级别: 以可扩展性为核心设计,每个系统都可以方便地被替换或扩展,以满足不同项目的具体需求,可直接用于生产环境。
    • 开发者友好工具链: 包含了一键重命名、一键清理等实用工具,显著提升了开发效率和工作流程的顺畅度。
    • CI/CD 友好: 包含自动打包和版本号显示功能,易于与 CI/CD 流程集成,实现自动化构建与部署。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Unity Project Starter

    A modular Unity project with a reusable framework layer, organised after Unreal Engine's gameplay model. GameplayFramework follows the Actor, Pawn, Controller and GameMode split; GameplayAbilities and GameplayTags provide the ability and tag primitives those contracts build on.

    The repository targets medium and large Unity projects that keep one codebase for years. What that gives a project:

    • Each module is a separate UPM package with its own assembly definition, so a project references only what it uses and unused modules never enter the compile or the build.
    • Logic that can stay engine-free does, so it runs in EditMode tests, headless processes and CLI tools.
    • Module boundaries are held by tests (engine seam, package graph), not only by convention.
    • Build pipeline, analyzers and maintenance tools live in the repository and version together with the code.

    English | 简体中文

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

    Unity Unity6 License Ask DeepWiki

    Table of Contents

    How to use this repository

    UnityStarter provides the structure a project needs before gameplay code exists: asset ownership, separated gameplay architecture, data-driven content, module boundaries, build automation, analyzers and maintenance tools.

    Use the repository in two ways:

    • As a project template: open UnityStarter/ in Unity, rename it with the bundled tools, and let the project-owned Assets/Build/ layer evolve with your game.
    • As a package (UPM) (recommended): move out folders under CycloneGames and add them from Package Manager. Packages are independent, so a project imports only the ones it references; each declares its own dependencies.

    What Is Inside

    UnityStarter combines a reusable CycloneGames framework layer, a Unity project template, a project-owned Build/CI module, standalone maintenance tools, bilingual documentation, and validation-oriented analyzer support.

    The Module Map is the primary index for gameplay, content, UI/input, AI, runtime infrastructure, build tooling, and experimental networking packages.

    ItemDetail
    Unity project rootUnityStarter/
    Unity version sourceUnityStarter/ProjectSettings/ProjectVersion.txt
    CycloneGames module foldersUnityStarter/Assets/ThirdParty/CycloneGames/
    Assembly definitionsPackage and project assembly boundaries are declared by .asmdef files under UnityStarter/Assets/.
    Analyzer rules20+ implemented CycloneGames.Analyzers rules, staged project-wide by Assets/Default.ruleset (Unity auto-applies a root-level ruleset with this exact name)
    Standalone toolsGo tools with Windows executables under Tools/Executable/Windows/

    Architecture Principles

    • Pure C# first where it matters: core contracts avoid leaking UnityEngine types when logic should remain testable in CLI, EditMode, headless simulation, or future adapters.
    • Unity as the integration layer: MonoBehaviour, ScriptableObject, editor tools, scene bindings, and assets bridge into runtime systems without owning complex domain rules.
    • Optional integrations stay isolated: DI containers, tween engines, scene navigation, serializers, transports, and hot-update backends live behind dedicated integration assemblies.
    • Performance is a design constraint: hot paths aim for zero-GC or low-GC behavior, predictable ownership, reusable buffers, and explicit lifecycle cleanup.
    • Build is project-owned: Assets/Build/ is expected to travel with derived projects and change with product requirements.
    • Docs are part of the API: long-lived modules are expected to maintain README.md and README.SCH.md together.

    Project Ownership Model

    This diagram is a repository ownership and module responsibility map, not a runtime dependency graph. It shows which parts are expected to evolve with a derived game, which parts are reusable framework modules, and which parts are optional or experimental integrations.

    flowchart TD
      subgraph ProjectOwned["Project-owned template layer"]
        StarterAssets["Assets/UnityStarter/\nScenes, project assets, composition"]
        BuildLayer["Assets/Build/\nBuild and CI entry points"]
        ProjectTools["Tools/\nRename, cleanup, maintenance utilities"]
      end
    
      subgraph FrameworkModules["Reusable CycloneGames modules"]
        Gameplay["Gameplay\nGameplayFramework, Abilities, Tags, RPGFoundation"]
        Content["Content\nAssetManagement, DataTable, Localization, Audio"]
        Presentation["Presentation/Input\nUIFramework, InputSystem, DeviceFeedback"]
        AI["AI\nBehaviorTree, AIPerception"]
        Infrastructure["Runtime Infrastructure\nFactory, Logger, DeterministicMath, Hash, IO"]
      end
    
      subgraph OptionalIntegrations["Optional / experimental integrations"]
        Networking["Networking packages\nExperimental until end-to-end validated"]
        HotUpdate["Hot-update build hooks\nHybridCLR, YooAsset, Addressables when installed"]
      end
    
      ProjectTools --> StarterAssets
      ProjectTools --> BuildLayer
      StarterAssets --> Gameplay
      StarterAssets --> Content
      StarterAssets --> Presentation
      StarterAssets --> AI
      Gameplay --> Infrastructure
      Content --> Infrastructure
      Presentation --> Content
      AI --> Infrastructure
      BuildLayer -. detects/invokes .-> HotUpdate
      Gameplay -. optional bridge .-> Networking
      AI -. optional bridge .-> Networking
    
      class StarterAssets,BuildLayer,ProjectTools projectNode
      class Gameplay,Content,Presentation,AI frameworkNode
      class Infrastructure infraNode
      class Networking,HotUpdate optionalNode
    
      classDef projectNode fill:#E6F4FF,stroke:#6B9BC3,color:#263238,stroke-width:1px
      classDef frameworkNode fill:#FFF1D9,stroke:#C99745,color:#263238,stroke-width:1px
      classDef infraNode fill:#F4F4F5,stroke:#9CA3AF,color:#263238,stroke-width:1px
      classDef optionalNode fill:#E8F8F5,stroke:#67A69A,color:#263238,stroke-width:1px,stroke-dasharray: 5 4
    

    Repository Layout

    <repo-root>/
      README.md / README.SCH.md              # Root bilingual overview
      Docs/                                  # Cross-module guides
      Tools/                                 # Standalone maintenance utilities
      UnityStarter/                          # Unity project root
        Analyzers/CycloneGames.Analyzers/    # Roslyn analyzer project
        Assets/Build/                        # Project-owned Build/CI module
        Assets/ThirdParty/CycloneGames/      # Reusable CycloneGames framework modules
        Assets/UnityStarter/                 # Template project scenes and game-side assets
        Packages/                            # Unity package manifest and lock file
        ProjectSettings/                     # Unity settings, including version source
    

    Module Map

    Recommended first pass: GameplayFramework, AssetManagement, GameplayAbilities, GameplayTags, DataTable, and Build.

    Gameplay

    ModuleRoleDocs
    GameplayFrameworkActor/Pawn/Controller/GameMode structure, gameplay lifecycle, camera flow, and scene-flow foundation.README
    GameplayFramework.AssetManagementResolves WorldSettings references through AssetManagement with explicit handle ownership.README
    GameplayFramework.FactoryActor creation and release through the Factory lifetime model.README
    GameplayFramework.GameplayAbilitiesExposes ability systems from framework actors and initialises actor information.README
    GameplayFramework.GameplayTagsResolves and modifies tag containers attached to framework actors.README
    GameplayAbilitiesGAS-style data-driven ability, attribute, effect, cost, cooldown, and cue system with an explicit authority/replica role and authoritative AuthorityOnly execution boundary. The optional Networking integration provides authority-activation protocol building blocks.README
    ChoreographyEngine-free action presentation scheduling for animation, audio, VFX, gameplay-event markers, and preload coordination.Folder
    GameplayTagsHierarchical tags, generated constants, query helpers, editor tooling, and integration points.README
    RPGFoundationRPG movement and interaction foundations that can integrate with other gameplay packages.README
    RPGFoundation.Interaction.GameplayFrameworkFramework actor binding for RPG interaction.README
    RPGFoundation.Interaction.DeterministicMathFixed-point authority integration for RPG interaction.README
    RPGFoundation.Interaction.DeterministicMath.GameplayFrameworkFramework actor bridge for deterministic interaction authority state.README
    UIFrameworkWindow management, UI flow, presentation patterns, and asset-backed UI loading that delegates handle ownership and eviction decisions to AssetManagement's segmented-LRU (SLRU) cache.README
    UIFramework.LocalizationBinds Localization to UI windows, with an optional TextMeshPro slice for per-locale layout snapshots.README
    Foundation2D2D foundation package and samples for derived projects.Folder

    AI

    ModuleRoleDocs
    BehaviorTreeBehavior tree runtime, graph editor, tests, and a data-oriented Burst path for homogeneous agents.README
    BehaviorTree.SpatialOptional bridge that publishes nearest-neighbour results into blackboard slots.README
    BehaviorTree.PerceptionOptional bridge that publishes a sensor's nearest target to the blackboard, with a multi-sensor aggregator.README
    BehaviorTree.EnvQueryOptional bridge that runs an environment query and publishes the best candidate.README
    AIPerceptionJobs and Burst based perception: sensors, memory, transition events, team attitudes.README
    AIEnvQueryCandidate generation and weighted scoring for position choice. Engine-free core.README
    AIResourcesClaim table for resources that admit one owner at a time, with priority preemption and lease expiry.README

    Data, Assets And Content

    ModuleRoleDocs
    AssetManagementInterface-first asset loading abstraction with bounded segmented-LRU (SLRU) caching, CacheRetention policies/scheduler, provider abstraction, diagnostics, and async loading flows.README
    AtlasPipelineSprite import and SpriteAtlas V2 generation with incremental indexing and build-time validation.README
    DataTableDesigner-facing data pipeline with optional Luban, MessagePack, and asset-management bridges.README
    GameplayTags.DataTableDataTable integration for GameplayTags authoring and loading.README
    Choreography.AssetManagementOptional Choreography resource provider bridge for CycloneGames.AssetManagement.Folder
    Choreography.CycloneAudioOptional Choreography audio provider bridge for CycloneGames.Audio.Folder
    LocalizationValidated locale fallback, partitioned text/assets, transactional catalogs, and editor translation workflows.README
    AudioAudio management layer with async loading, runtime ownership, and platform-aware policies.README
    Audio.LocalizationKeeps the audio voice locale in step with the Localization locale.README
    FontAssetsCJK, Latin, symbol, and number font assets.Folder

    Runtime Infrastructure

    ModuleRoleDocs
    FactoryFactory and object pooling module with DI-friendly use and ECS/DOD variants.README
    LoggingUnity-free logging contracts, channels, severity, process-writer routing, and a safe null writer.README
    Logging PipelineUnity-free bounded processing, filtering, sinks, file output, statistics, and deterministic shutdown.README
    Logging UnityOptional Unity lifecycle, settings, Console sink, Editor tooling, and build integration for the logging pipeline.README
    DeterministicMathFixed-point deterministic math for replay, simulation, and lockstep-friendly systems.README
    HashDeterministic hashing primitives for manifests, protocol checks, IDs, and consistency.README
    IOManaged file and path utilities for Unity-aware foundation modules.README
    PersistenceUnity-free, bounded, versioned single-record orchestration with strict Record V1 integrity checks and serializer/storage-neutral contracts.README
    Persistence.SystemIOOptional System.IO storage and Unity persistentDataPath composition, with bounded reads and atomic commit behavior.README
    Persistence.VYamlOptional generated-resolver VYaml codec for readable UTF-8 persistence payloads.README
    Persistence.MessagePackOptional assembly-gated MessagePack codec source; inactive until its pinned binary, analyzer, and Unity bridge are installed.README
    InputSystemValidated YAML input authoring with prioritized mapping contexts, per-player device ownership, local multiplayer, binding profiles, Editor tooling, and opt-in integrations.README
    InputSystem.AssetManagementOptional physical package-loading bridge between InputSystem, AssetManagement, and VContainer.README
    DeviceFeedbackHaptics, vibration, rumble, and device-light feedback abstractions.README
    SettingsUnity-free cloned settings state with defaults, validation, forward migration, isolated snapshots, and typed post-commit notifications.README
    Settings.PersistenceOptional integration that composes Settings state and migration with one Persistence Store without coupling either Core.README
    UtilityCommon Unity utility components and helpers.Folder
    CheatBuild-gated internal cheat command system with VitalRouter integration.README
    EventBusZero-allocation event bus with pooled subscription handles, a bounded cross-thread ring, and optional R3, UniTask, VitalRouter and Logging adapters.README
    SchedulingBounded cooperative work scheduling with lane priority, soft frame budgets, fault isolation and deterministic shutdown.README
    SpatialUniform spatial hash grid for broad-phase queries, with handle lifetime, structure-of-arrays storage and a single-writer thread model.README

    Build, Tools And Quality

    AreaRoleDocs
    BuildProject-owned player build pipeline, version info, optional hot-update hooks, and CI-facing methods.README
    ToolsGo tools for project rename, package trimming, cleanup, file trees, and asset processing.README
    AnalyzersUnity-focused Roslyn analyzer rules for performance, safety, async, and conventions. The project-wide severity policy lives in Assets/Default.ruleset.README

    Networking Status

    The networking layer is an experimental foundation. Production adoption requires end-to-end validation with the selected transport, serializer, authority model, reconnect flow, platform target, and gameplay replication policy.

    ModuleRoleStatus
    NetworkingTransport-neutral contracts, message catalogs, protocol manifests, sessions, replication, security, serializers, adapters, and diagnostics.Experimental. README
    GameplayFramework.NetworkingSession bridge, actor migration serialization, authority roles, and observer resolution.Experimental. README
    GameplayAbilities.NetworkingCommand, prediction, state replication, cue and endpoint contracts for GameplayAbilities.Experimental. README
    AIPerception.NetworkingPerception event, snapshot, memory, authority, and host-migration contracts.Experimental. README
    BehaviorTree.NetworkingBehavior tree replication profiles, authority helpers, snapshots, and blackboard deltas.Experimental. README
    RPGFoundation.Movement.NetworkingMovement input, snapshot, correction, teleport, authority transfer, validation, history, and reconciliation contracts.Experimental. README
    RPGFoundation.Interaction.NetworkingInteraction DTOs, vector conversion, authority validation bridge, and message catalog registration.Experimental. README
    RPGFoundation.Projectile.NetworkingProjectile protocol metadata, DTOs, validation helpers, prediction reconciliation, snapshot history, and authority bridge contracts.Experimental. README

    Build, CI/CD And Project Tooling

    Build is project-owned infrastructure

    UnityStarter/Assets/Build/ is project-owned infrastructure. Product projects can adjust scenes, version prefixes, output layout, hot-update assembly lists, platform signing, and release rules there.

    When a developer derives a new game from UnityStarter and runs rename_project, the Build layer remains part of the new project and should continue to be maintained there.

    The Build module includes:

    • BuildData ScriptableObject configuration.
    • Git or Perforce revision metadata through Build.VersionControl.Editor; batch-mode and release builds require one, while only an interactive Development build may use the explicit LocalDevelopment fallback.
    • Editor menu items and command-line player build entry points.
    • Optional integrations for HybridCLR, Obfuz, YooAsset 3, and Addressables; missing packages do not break the core build assembly.
    • Cheat define control for internal builds.
    • A single CI entry point: Build.Pipeline.Editor.BuildEntryPoints.RunCommandLine.

    Minimal command shape:

    Unity -batchmode -quit -projectPath UnityStarter \
      -executeMethod Build.Pipeline.Editor.BuildEntryPoints.RunCommandLine \
      -buildTarget Win64 \
      -pipelineProfile Assets/UnityStarter/Editor/Build/BuildData.asset \
      -pipelineOutput Build/Windows/Release/UnityStarter.exe \
      -pipelineClean
    

    The Build README includes deeper configuration notes, hot-update workflows, and CI examples.

    Tools for derived projects

    The Tools/ directory contains standalone Go utilities:

    ToolPurpose
    rename_projectRename a derived UnityStarter project safely and repeatedly.
    remove_unity_packagesRemove unnecessary packages from manifest.json.
    unity_project_full_cleanClean Unity caches, generated projects, and build artifacts.
    audio_volume_normalizerNormalize audio loudness with category-aware targets.
    texture_channel_packerPack texture channels for mask maps and similar workflows.
    unity_video_webm_converterConvert videos to Unity-friendly VP8 WebM.
    generate_file_treeGenerate Markdown directory trees for documentation.

    See Tools README for usage details.

    Getting Started

    Requirements

    • The Unity version recorded in UnityStarter/ProjectSettings/ProjectVersion.txt.
    • Git or Perforce is required for automatic version metadata in batch-mode and release builds; only an interactive Development build may use deterministic LocalDevelopment fallback metadata.

    First Run

    git clone https://github.com/MaiKuraki/UnityStarter.git
    
    1. Open UnityStarter/ in Unity Hub.
    2. Open UnityStarter/Assets/UnityStarter/Scenes/Scene_Launch.unity.
    3. Read GameplayFramework to understand the high-level architecture.
    4. Read Build before changing build settings or CI methods.
    5. If you are creating a new project from this template, run Tools/Executable/Windows/rename_project.exe and review Tools README.

    Using Individual Modules

    Copy a module folder from UnityStarter/Assets/ThirdParty/CycloneGames/ into your project, then inspect its package.json, .asmdef files, README, dependencies, and optional Integrations/ folders. There is no all-or-nothing import: a project takes the packages it calls and the packages those declare as dependencies. Some modules are self-contained; others depend on shared CycloneGames packages or Unity packages.

    Technology Stack

    Versions should be checked in UnityStarter/Packages/manifest.json, UnityStarter/Packages/packages-lock.json, and UnityStarter/Packages/nuget-packages/InstalledPackages/.

    AreaExamples
    Async and reactivecom.cysharp.unitask, com.cysharp.r3, NuGet R3
    Routing and datajp.hadashikick.vitalrouter.unity, jp.hadashikick.vyaml, NuGet VitalRouter, NuGet VYaml
    Unity performance stackBurst, Collections, Mathematics, Profiling Core, Memory Profiler, Profile Analyzer
    Unity gameplay stackInput System, Cinemachine, URP, TextMeshPro, UGUI, Splines
    UI and debug helpersSoftMask, UIEffect, CompositeCanvasRenderer, UnityDebugSheet, InGameDebugConsole, uPalette
    Build and analysisScriptable Build Pipeline, NuGetForUnity, Roslyn packages for CycloneGames analyzers
    Optional integrationsVContainer, PrimeTween, Navigathena, Luban, MessagePack, HybridCLR, YooAsset, Addressables, Obfuz, Mirror, Mirage

    Documentation

    LocationPurpose
    UnityStarter/Assets/ThirdParty/CycloneGames/*/README.mdModule-level documentation for long-lived packages.
    UnityStarter/Assets/Build/README.mdBuild pipeline, hot update, optional packages, and CI.
    UnityStarter/Analyzers/CycloneGames.Analyzers/README.mdAnalyzer rules, build instructions, and activation guidance.
    Tools/README.mdStandalone project maintenance tools.
    Docs/AudioBestPractices/AudioBestPractices.mdAudio import and runtime audio guidance.
    DeepWikiGenerated codebase overview.

    Validation Status

    Validation runs through Unity and the test runner in the project.

    • Open UnityStarter/ and confirm the Console has no errors after import.
    • Run the EditMode suites of the modules you changed. The full suite is available through Test Runner, or in batch mode:
    Unity -batchmode -nographics -projectPath UnityStarter -runTests   -testPlatform EditMode -testFilter CycloneGames -testResults results.xml -logFile test.log
    
    • Two guard suites protect repository-wide invariants and should stay green:
      • CoreSeamGuardTests checks that engine-free Core assemblies stay free of Unity types, disk IO and host compilation symbols.
      • PackageReferenceGuardTests checks that every cross-package assembly reference is either declared in package.json or gated by a capability symbol.
    • Build the analyzers with dotnet build UnityStarter/Analyzers/CycloneGames.Analyzers/CycloneGames.Analyzers.csproj -c Release.
    • Use Build > Pipeline > Print Selected Profile before changing BuildData or CI settings.
    • Networking modules remain experimental; production use needs end-to-end validation against the chosen transport, serializer and authority model.

    Related Projects


    License: MIT