> For the complete documentation index, see [llms.txt](https://arawn-software-publishing.gitbook.io/networking-layer-for-gc2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://arawn-software-publishing.gitbook.io/networking-layer-for-gc2/readme.md).

# Welcome - GC2 Networking Layer

## Game Creator 2 Networking Layer

#### Github Repo: <https://github.com/crizzler/NetworkingLayerForGC2>

Transport-agnostic, server-authoritative multiplayer layer for Game Creator 2.

<figure><img src="/files/nOH4fOayjTOqYBobPl5Z" alt=""><figcaption></figcaption></figure>

### What This Package Is

* A runtime networking layer for GC2 that is **not bound to one networking SDK**.
* A strict authority/security model designed for coop and competitive multiplayer.
* A module system that lets you wire one transport stack and keep GC2 gameplay integration consistent.

This package intentionally does **not** ship a production transport implementation (NGO/FishNet/Mirror/etc).\
You wire your own transport adapter to the exposed manager/controller send/receive APIs.

### Supported Modules

* Core
* Inventory
* Stats
* Shooter
* Melee
* Quests
* Dialogue
* Traversal
* Abilities (DaimahouGames third-party module integration)

### Core Runtime Entry Points

* `NetworkTransportBridge` / `INetworkTransportBridge`
* `NetworkCharacter`
* Module managers/controllers (`Core`, `Inventory`, `Stats`, `Shooter`, `Melee`, `Quests`, `Dialogue`, `Traversal`, `Abilities`)
* `NetworkSecurityManager` + `SecurityIntegration`

### Integration Model

1. Implement your bridge by inheriting `NetworkTransportBridge`.
2. Wire outbound delegates from managers/controllers to your transport sender.
3. Route inbound transport packets to the matching manager/controller `Receive*` APIs.
4. Register ownership mappings early (`characterNetworkId -> ownerClientId`) so strict validation succeeds from first request.
5. Normalize sender IDs through `NetworkTransportBridge.TryConvertSenderClientId(...)` (`clientId = 0` is valid).

### Setup Wizard

Use `Game Creator > Networking Layer > Scene Setup Wizard` to scaffold:

* Session profile asset
* Off-mesh registry
* Animation registry (optional)
* Custom bridge placeholder
* Security manager
* Optional network player template

### Patch System

Use `Game Creator > Networking Layer > Patches` for optional source patching.

* Core combat/inventory modules can use patch mode for deeper server-authoritative hooks.
* Quests / Dialogue / Traversal patchers are optional:
* Coop and most flows: interception mode is typically enough.
* Strict competitive-grade authority: apply their patchers.

### Quickstart

Start here for transport wiring:

* [`Quickstart`](/networking-layer-for-gc2/getting-started/quickstart.md)
* [`Public API`](/networking-layer-for-gc2/getting-started/publish-your-docs.md)

### License

This networking layer is MIT licensed.

See:

* [`License`](#license)
