uw-network-setup

A Unity networking setup skill that generates multiplayer code for the project’s selected networking package, such as NGO, Mirror, or Photon. It also accounts for which system owns each piece of shared data.

In plain words
What is it for?
Use it to set up multiplayer systems, synchronize player data, write remote procedure calls, create lobbies, and define authority rules.
Why use it?
It avoids writing multiplayer code for the wrong package or making unclear decisions about who controls synchronized game state.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/devdavv/unity-ai-workflow/uw-network-setup
Any agent
npx skills add devdavv/unity-ai-workflow --skill uw-network-setup
Clone the repo
git clone --depth 1 https://github.com/devdavv/unity-ai-workflow

Made for: Claude Code, Codex.

Per session 149 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,976 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00149 $0.01976
Opus 5 $0.00075 $0.00988
Sonnet 5 $0.00030 $0.00395
Haiku 4.5 $0.00015 $0.00198

Measured 2d ago against content hash 26f062d18f8b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

uw-network-setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/uw-network-setup/SKILL.md · 197 lines

How it starts

The opening of the file, as written. The whole thing — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Network Setup

Generate networking code adapted to the project's chosen package.

Before You Start

  1. Read docs/ProjectConfig.yaml for:
    • networking — the package name ("ngo", "mirror", "photon", or "none"). If "none", stop — do not generate networking code.
    • architecture_pattern"so-first" or "di-first" (affects how network services are wired).
    • mcp.unity_mcp — if true, call refresh_unity after creating files.
  2. Read docs/TDD_Template.md for the authority matrix (who owns what data).
  3. Read docs/CODING_STANDARDS.md for async patterns (Awaitable + CancellationToken) and class structure.
  4. Read docs/NAMING_CONVENTIONS.md for file/class naming.

Package Quick Reference

Each package has a detailed reference file. Read the relevant one before generating code:

  • NGO (Netcode for GameObjects): references/ngo.md — Unity's first-party solution. Uses NetworkVariable, [Rpc] attributes.
  • Mirror: references/mirror.md — Community open-source. Uses [SyncVar], [Command]/[ClientRpc].
  • Photon (PUN2/Fusion): references/photon.md — Cloud-hosted. Uses IPunObservable, [PunRPC].

Core Patterns (All Packages)

State Synchronization

Every package has a mechanism for syncing state from server/host to clients. The pattern is the same — only the syntax differs.

Package Sync Mechanism Change Callback Example
NGO NetworkVariable<T> .OnValueChanged += handler _health.OnValueChanged += OnHealthChanged;
Mirror [SyncVar(hook = nameof(...))] Hook method [SyncVar(hook = nameof(OnHealthChanged))]
Photon IPunObservable OnPhotonSerializeView Manual read/write in serialize callback

Remote Procedure Calls (RPCs)

RPCs let clients request actions on the server, or the server push updates to clients.

NGO:

[Rpc(SendTo.Server)]
public void RequestDamageServerRpc(int amount)
{
    // Runs on server — validate before applying
    if (amount < 0 || amount > MAX_DAMAGE) return;
    _health.Value = Mathf.Max(0, _health.Value - amount);
}

[Rpc(SendTo.ClientsAndHost)]
public void PlayHitEffectClientRpc()
{
    // Runs on all clients — visual/audio only, no game state
}

Read the full file on GitHub · 197 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 197 lines · 149 tokens per session scan A 26f062d18f8b

Subscribe to this mod's changes

uw-network-setup is a skill published in the GitHub repository devdavv/unity-ai-workflow (41 stars, last pushed 5mo ago), licensed MIT. It adds 149 tokens to every session and 1,976 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

assets-shader-get-data

Get detailed data about a shader asset — properties, subshaders, passes, compilation messages, and supported status. Supports token-saving path-scoped reads via paths or viewQuery. Use 'assets-find' with t:Shader or 'assets-shader-list-all' to locate the shader first.

IvanMurzak/Unity-MCP · 70 tokens

gameobject-component-get

Get detailed information about a specific Component on a GameObject — type, enabled state, and (optionally) serialized fields and properties. Supports token-saving path-scoped reads via paths or viewQuery. Use 'gameobject-find' to list components first.

IvanMurzak/Unity-MCP · 59 tokens

gameobject-find

Find a specific GameObject in the opened Prefab (preferred when present) or the active Scene. Optionally include editable data, components preview, bounds, and limited hierarchy. Supports token-saving path-scoped reads via paths or viewQuery.

IvanMurzak/Unity-MCP · 55 tokens

gameobject-component-modify

Modify a specific Component on a GameObject in opened Prefab or in a Scene. Allows direct modification of component fields and properties without wrapping in GameObject structure. Use 'gameobject-component-get' first to inspect the component structure before modifying. Three modification surfaces are available…

IvanMurzak/Unity-MCP · 78 tokens

gameobject-modify

Modify GameObject fields and properties in opened Prefab or in a Scene. You can modify multiple GameObjects at once. Just provide the same number of GameObject references and SerializedMember objects. Three modification surfaces are available per GameObject (gameObjectDiffs, pathPatchesPerGameObject…

IvanMurzak/Unity-MCP · 79 tokens

object-modify

Modify a Unity UnityEngine.Object's serializable fields/properties. Three modification surfaces are available (objectDiff, pathPatches, jsonPatch) — see the skill body. Use 'object-get-data' first to inspect the object structure.

IvanMurzak/Unity-MCP · 57 tokens