Agent SkillsBesty0728/Unity-Skills › unity-netcode-design

unity-netcode-design

GitHub

为 Unity Netcode for GameObjects 2.x 提供源码级设计规则,涵盖生命周期、所有权、RPC、网络变量及场景管理等。用于编写、审查多人联机代码或排查同步问题时加载,确保权威性与合规性。

SkillsForUnity/unity-skills~/skills/netcode-design/SKILL.md Besty0728/Unity-Skills

Trigger Scenarios

编写或审查多人联机代码 设计服务器/分布式权威架构 配置 RPC 或 NetworkVariables 排查 Netcode 同步问题 用户提及'联机'或'多人同步'

Install

npx skills add Besty0728/Unity-Skills --skill unity-netcode-design -g -y
More Options

Non-standard path

npx skills add https://github.com/Besty0728/Unity-Skills/tree/main/SkillsForUnity/unity-skills~/skills/netcode-design -g -y

Use without installing

npx skills use Besty0728/Unity-Skills@unity-netcode-design

指定 Agent (Claude Code)

npx skills add Besty0728/Unity-Skills --skill unity-netcode-design -a claude-code -g -y

安装 repo 全部 skill

npx skills add Besty0728/Unity-Skills --all -g -y

预览 repo 内 skill

npx skills add Besty0728/Unity-Skills --list

SKILL.md

Frontmatter
{
    "name": "unity-netcode-design",
    "description": "Source-anchored design rules for Netcode for GameObjects 2.x — lifecycle, ownership, RPCs, NetworkVariables, spawning, scene management, transport, and pitfalls. Use when writing or reviewing multiplayer code, designing server\/distributed authority, wiring RPCs or NetworkVariables, or debugging netcode, even if the user just says \"联机\" or \"多人同步\". 为 Netcode for GameObjects 2.x 提供源码锚定的设计规则(生命周期、所有权、RPC、NetworkVariable、生成、场景管理、传输、陷阱);当用户要编写或审查多人联机代码、设计服务器\/分布式权威、连接 RPC 或网络变量、或排查 netcode 问题时使用。"
}

Netcode for GameObjects - Design Rules

Advisory module. Every rule is distilled from com.unity.netcode.gameobjects 2.x source. Each rule cites a concrete file/line so the reasoning is auditable.

Mode: Documentation only — no REST skills to gate; load freely under any operating mode (Approval / Auto / Bypass).

When to Load This Module

Load before writing or reviewing any of:

  • NetworkBehaviour scripts (OnNetworkSpawn / OnNetworkDespawn / RPCs / NetworkVariables)
  • NetworkManager startup / shutdown / scene switching
  • NetworkObject Spawn / Despawn / ChangeOwnership / TrySetParent
  • UnityTransport configuration (direct connect / Relay)
  • Any code that branches on IsHost / IsServer / IsClient / IsOwner

Critical Rule Summary (memorize even if you skip the sub-docs)

# Rule Source anchor
1 Spawn() / Despawn() must be called on Server/Host only; client-side calls fail. Runtime/Core/NetworkObject.cs:1884, 1921
2 OnNetworkSpawn() runs before Unity Start() and after Awake/OnEnable. Runtime/Core/NetworkBehaviour.cs:704 + InvokeBehaviourNetworkSpawn callers
3 Legacy [ServerRpc] method names must end with ServerRpc; [ClientRpc] must end with ClientRpc (ILPP enforced at compile time). Editor/CodeGen/ ILPP validators
4 New [Rpc(SendTo.X)] has no naming constraint; SendTo has 11 values. Runtime/Messaging/RpcTargets/RpcTarget.cs:9-80
5 PlayerPrefab must exist in NetworkPrefabsList or NetworkConfig.Prefabs or 2.x runtime rejects it. Runtime/Configuration/NetworkConfig.cs:40 + NetworkPrefabsList.cs:14
6 Nested NetworkObjects are forbidden (NetworkObject inside another NetworkObject prefab). Re-parent at runtime via TrySetParent. Runtime/Core/NetworkObject.cs:2135-2215
7 NetworkVariable<T> requires T to be unmanaged or implement INetworkSerializable. string, List<>, class are rejected. Runtime/NetworkVariable/NetworkVariable.cs:12 + ILPP
8 NetworkList<T> requires T: unmanaged, IEquatable<T>. It is NOT NetworkVariable<List<T>>. Runtime/NetworkVariable/Collections/NetworkList.cs:14
9 NetworkSceneManager.LoadScene/UnloadScene is Server-only. Runtime/SceneManagement/NetworkSceneManager.cs:1496, 1252
10 UnityTransport.SetRelayServerData and SetConnectionData are mutually exclusive; use one or the other. Runtime/Transports/UTP/UnityTransport.cs:776-897

Sub-doc Routing

Sub-doc When to read
LIFECYCLE.md Lifecycle, callback ordering, Awake/OnNetworkSpawn/Start differences
OWNERSHIP.md IsOwner/IsServer/IsHost permission matrix, ChangeOwnership, Distributed Authority
RPC.md Choosing RPC attributes, SendTo semantics, RpcInvokePermission, deprecated paths
VARIABLES.md NetworkVariable/NetworkList init and serialization constraints
SPAWNING.md Prefab registration → Spawn → Despawn, GlobalObjectIdHash, SpawnAsPlayerObject
SCENE.md NetworkSceneManager, EnableSceneManagement, in-scene object sync
TRANSPORT.md UnityTransport direct / Relay / DebugSimulator configuration
PITFALLS.md 30 concrete hallucination pitfalls

Routing to Other Modules

  • Generating NetworkBehaviour scripts → use the functional netcode module's netcode_add_network_behaviour_script
  • Bulk attaching NetworkObject/NetworkTransform in the scene → netcode module Components skills
  • Architecture-level decisions (Server-authoritative vs Distributed Authority) → also load architecture

Version Scope

This document targets com.unity.netcode.gameobjects 2.x (validated against 2.11.0, Unity 6000.0+). Some APIs (SendTo.Authority, RpcInvokePermission, the universal [Rpc] attribute) do not exist in 1.x.

Version History

  • ec9f870 Current 2026-07-05 14:40

Same Skill Collection

SkillsForUnity/unity-skills~/skills/adr/SKILL.md
SkillsForUnity/unity-skills~/skills/animator/SKILL.md
SkillsForUnity/unity-skills~/skills/architecture/SKILL.md
SkillsForUnity/unity-skills~/skills/asmdef/SKILL.md
SkillsForUnity/unity-skills~/skills/asset/SKILL.md
SkillsForUnity/unity-skills~/skills/async/SKILL.md
SkillsForUnity/unity-skills~/skills/batch/SKILL.md
SkillsForUnity/unity-skills~/skills/blueprints/SKILL.md
SkillsForUnity/unity-skills~/skills/bookmark/SKILL.md
SkillsForUnity/unity-skills~/skills/camera/SKILL.md
SkillsForUnity/unity-skills~/skills/cinemachine/SKILL.md
SkillsForUnity/unity-skills~/skills/cleaner/SKILL.md
SkillsForUnity/unity-skills~/skills/component/SKILL.md
SkillsForUnity/unity-skills~/skills/console/SKILL.md
SkillsForUnity/unity-skills~/skills/debug/SKILL.md
SkillsForUnity/unity-skills~/skills/decal/SKILL.md
SkillsForUnity/unity-skills~/skills/dotween/SKILL.md
SkillsForUnity/unity-skills~/skills/editor/SKILL.md
SkillsForUnity/unity-skills~/skills/event/SKILL.md
SkillsForUnity/unity-skills~/skills/gameobject/SKILL.md
SkillsForUnity/unity-skills~/skills/graphics/SKILL.md
SkillsForUnity/unity-skills~/skills/history/SKILL.md
SkillsForUnity/unity-skills~/skills/importer/SKILL.md
SkillsForUnity/unity-skills~/skills/inspector/SKILL.md
SkillsForUnity/unity-skills~/skills/light/SKILL.md
SkillsForUnity/unity-skills~/skills/material/SKILL.md
SkillsForUnity/unity-skills~/skills/navmesh/SKILL.md
SkillsForUnity/unity-skills~/skills/netcode/SKILL.md
SkillsForUnity/unity-skills~/skills/optimization/SKILL.md
SkillsForUnity/unity-skills~/skills/package/SKILL.md
SkillsForUnity/unity-skills~/skills/patterns/SKILL.md
SkillsForUnity/unity-skills~/skills/perception/SKILL.md
SkillsForUnity/unity-skills~/skills/performance/SKILL.md
SkillsForUnity/unity-skills~/skills/physics/SKILL.md
SkillsForUnity/unity-skills~/skills/postprocess/SKILL.md
SkillsForUnity/unity-skills~/skills/prefab/SKILL.md
SkillsForUnity/unity-skills~/skills/probuilder/SKILL.md
SkillsForUnity/unity-skills~/skills/profiler/SKILL.md
SkillsForUnity/unity-skills~/skills/project-scout/SKILL.md
SkillsForUnity/unity-skills~/skills/project/SKILL.md
SkillsForUnity/unity-skills~/skills/sample/SKILL.md
SkillsForUnity/unity-skills~/skills/scene-contracts/SKILL.md
SkillsForUnity/unity-skills~/skills/scene/SKILL.md
SkillsForUnity/unity-skills~/skills/script-roles/SKILL.md
SkillsForUnity/unity-skills~/skills/script/SKILL.md
SkillsForUnity/unity-skills~/skills/scriptableobject/SKILL.md
SkillsForUnity/unity-skills~/skills/scriptdesign/SKILL.md
SkillsForUnity/unity-skills~/skills/shader/SKILL.md
SkillsForUnity/unity-skills~/skills/shadergraph/SKILL.md
SkillsForUnity/unity-skills~/skills/SKILL.md
SkillsForUnity/unity-skills~/skills/smart/SKILL.md
SkillsForUnity/unity-skills~/skills/terrain/SKILL.md
SkillsForUnity/unity-skills~/skills/test/SKILL.md
SkillsForUnity/unity-skills~/skills/testability/SKILL.md
SkillsForUnity/unity-skills~/skills/timeline/SKILL.md
SkillsForUnity/unity-skills~/skills/ui/SKILL.md
SkillsForUnity/unity-skills~/skills/uitoolkit/SKILL.md
SkillsForUnity/unity-skills~/skills/urp/SKILL.md
SkillsForUnity/unity-skills~/skills/validation/SKILL.md
SkillsForUnity/unity-skills~/skills/volume/SKILL.md
SkillsForUnity/unity-skills~/skills/workflow/SKILL.md
SkillsForUnity/unity-skills~/skills/xr/SKILL.md
SkillsForUnity/unity-skills~/skills/yooasset-design/SKILL.md
SkillsForUnity/unity-skills~/skills/yooasset/SKILL.md
SkillsForUnity/unity-skills~/SKILL.md
SkillsForUnity/unity-skills~/skills/addressables-design/SKILL.md
SkillsForUnity/unity-skills~/skills/dotween-design/SKILL.md
SkillsForUnity/unity-skills~/skills/shadergraph-design/SKILL.md
SkillsForUnity/unity-skills~/skills/unitask-design/SKILL.md
SkillsForUnity/unity-skills~/skills/yaml-editing/SKILL.md

Metadata

Files
0
Version
ec9f870
Hash
6d38da88
Indexed
2026-07-05 14:40

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 15:20
浙ICP备14020137号-1 $bản đồ khách truy cập$