mg-net

Migrate single-player Unity mini-games to server-authoritative multiplayer using Netcode for GameObjects.

1|Updated Jul 29, 2026
One-click install
npx skills add https://github.com/Bornqazaq/sleepover --skill mg-net-bornqazaq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mg-net
Source: https://github.com/Bornqazaq/sleepover/tree/main/.claude/skills/mg-net
Command: npx skills add https://github.com/Bornqazaq/sleepover --skill mg-net-bornqazaq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Converting a working single-player Unity mini-game into a networked multiplayer game is error-prone: desyncs, race conditions, and bugs that only appear on real machines. This Skill provides a structured migration checklist and testing protocol for moving a finished solo game skeleton to server-authoritative multiplayer with Netcode for GameObjects (NGO). ## Core Features & Use Cases - Three-bucket logic classification: Sorts all game logic into NetworkVariable state, ServerRpc player actions, and ClientRpc event notifications, with server-side validation of every client action. - Migration and disconnect checklists: Covers server-only randomness, spawning, scoring via SessionManager, late joins, and explicit handling of player, unique-role, and host disconnects. - Live multi-machine playtest protocol: Mandates a real 3+ machine session over Tailscale with build requirements (listen address, per-platform Addressables, launcher scripts), since local Multiplayer Play Mode cannot reproduce per-machine bugs. - Use Case: Your phase-2 mini-game skeleton runs bug-free solo. Invoke this Skill to systematically convert it to host + client multiplayer, validate state consistency, and run the acceptance playtest before closing the phase. ## Quick Start Ask the AI to run the mg-net phase for your mini-game by name, for example: "Run mg-net for the Tag mini-game to make it networked multiplayer."

Frequently Asked Questions about mg-net

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a single-player Unity game to multiplayer with Netcode for GameObjects?

Classify all game logic into three buckets: shared state goes into NetworkVariable fields, player actions become ServerRpc calls that the server validates, and one-off notifications become ClientRpc calls. Then make the game controller a NetworkBehaviour and gate all state changes behind IsServer checks.

How do I prevent cheating in a Unity NGO multiplayer game?

Use server authority: never trust the client. The server must validate every ServerRpc action, checking role, alive status, zone, cooldown, and resources. All randomness, scoring, and placement decisions must run only on the server.

Why does my multiplayer game work in Multiplayer Play Mode but fail on real machines?

Multiplayer Play Mode instances share one process and filesystem, so per-machine bugs never reproduce: owner-only state, UI bound to the wrong avatar, and roles persisting across scene changes. A live playtest on 3+ separate machines is required before closing the network phase.

How do I set up a multiplayer playtest across different home networks?

Use Tailscale instead of port forwarding, since many home ISPs use CGNAT. Each machine gets a stable 100.x.x.x address; the host sets ServerListenAddress to 0.0.0.0 and clients connect via a --host argument with the organizer's Tailscale IP.

When do multiplayer players need to re-download the game build?

Everyone needs a new build when the scene, the NetworkVariable set on any NetworkBehaviour, or client-executed logic changes. Only the host needs a new build when purely server-side decisions change, such as scene switching, role assignment, or scoring.