Quickstart
Download Link: https://github.com/crizzler/NetworkingLayerForGC2/releases/
This quickstart shows how to connect any networking stack (NGO, FishNet, Mirror, custom) to the Game Creator 2 Networking Layer.
For the canonical transport contract and public runtime API reference, see:
The GC2 layer is transport-agnostic. You provide:
A
NetworkTransportBridgeimplementation.Packet serialization + routing in your transport.
Ownership mapping (
characterNetworkId -> ownerClientId).
1) Scene Prerequisites

Use Game Creator > Networking Layer > Scene Setup Wizard once, then verify your scene has:
One
NetworkTransportBridgeimplementation (your class, not a placeholder).One
NetworkSecurityManager(server/host scenes).Relevant module managers/controllers you use (
NetworkCoreManager,NetworkInventoryManager,NetworkStatsManager,NetworkShooterManager,NetworkMeleeManager,NetworkQuestsManager,NetworkDialogueManager,NetworkTraversalManager,NetworkAbilitiesController). The setup wizard can create/reuse these directly in Step 3: Scene Objects when their toggles are enabled.If Create / Ensure GC2 Network Player object is enabled, the wizard also adds selected per-character controllers to that player template:
NetworkCoreController,NetworkInventoryController,NetworkStatsController,NetworkShooterController,NetworkMeleeController,NetworkQuestsController,NetworkTraversalController.NetworkDialogueControlleris usually placed on dialogue actors (not automatically on the player template) and can referenceDialogue+NetworkCharacteron different GameObjects.
Optional modules compile only when their symbols are enabled:
GC2_INVENTORYGC2_STATSGC2_SHOOTERGC2_MELEEGC2_QUESTSGC2_DIALOGUEGC2_TRAVERSALGC2_ABILITIES
These are auto-synchronized by GC2NetworkingDefineSymbols based on installed modules.
Manual refresh: Game Creator > Networking Layer > Refresh Define Symbols.
2) Create Your Bridge
Create a class inheriting NetworkTransportBridge and implement the abstract API.
Important:
clientId = 0is valid.Reject only
NetworkTransportBridge.InvalidClientId.Keep ownership mappings current with
SetCharacterOwner(...)/ClearCharacterOwner(...).
3) Initialize Managers Per Session Role
Create a bootstrap script and initialize managers after your transport is ready.
4) Wire Outbound Delegates To Transport Send
Managers/controllers emit requests/responses/broadcasts through delegates. Wire those delegates to your transport sender methods.
Example (NetworkCoreManager):
Do the same for Inventory/Stats/Shooter/Melee/Quests/Dialogue/Traversal/Abilities managers you enable.
5) Route Inbound Packets To Receive* APIs
Receive* APIsWhen a packet arrives, deserialize it and call the module manager Receive* API.
Examples:
For every enabled module, map each network message ID to exactly one matching Receive*/Process* method.
6) Spawn, Role, and Ownership
For each spawned NetworkCharacter:
Call
InitializeNetworkRole(isServer, isOwner, isHost).Set ownership mapping in the bridge immediately on server:
SetCharacterOwner(character.NetworkId, ownerClientId)
Clear mapping on despawn:
ClearCharacterOwner(character.NetworkId)
Strict ownership validation is enforced in request paths. Late ownership mapping causes valid requests to be rejected.
7) Competitive-Ready Checklist
Before shipping:
Keep
NetworkSecurityManageractive on server/host scenes.Ensure all inbound requests pass authoritative sender ID.
Keep client and server on the same protocol version (v2).
Confirm each enabled module has both outbound delegate wiring and inbound
Receive*routing.Validate with host + dedicated server + 2 clients and forged-request tests.
8) Where To Go Next
9) Patching Policy (Recommended)
Start unpatched first. Read here why. Interception/fallback mode is the default recommendation.
For coop and most flows, this is typically enough (including Quests/Dialogue/Traversal).
Move to patch mode when your game gains traction and abuse risk appears (confirmed cheaters, ranked pressure, economy exploits).
When patching, prioritize combat/economy-critical modules first, then expand as needed.
Patch menu:
Game Creator > Networking Layer > Patches > <Module> > Patch (Server Authority)
Detailed strategy:
Assets/Plugins/GameCreator2NetworkingLayer/Documentation/PATCHING_STRATEGY.md
10) License
Game Creator 2 Networking Layer is MIT licensed.
See:
Last updated