Transport-agnostic, server-authoritative multiplayer layer for Game Creator 2.
Online documentation: https://arawn-software-publishing.gitbook.io/networking-layer-for-gc2
Download: https://github.com/crizzler/NetworkingLayerForGC2/releases/
Release Status: Alpha
This package is currently in Alpha. APIs, behavior, and documentation may change between releases.
- 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.
The core layer remains transport-agnostic. PurrNet is included as the currently supported concrete transport, and future transport folders can plug into the same manager/controller send/receive APIs.
- Core
- Inventory
- Stats
- Shooter
- Melee
- Quests
- Dialogue
- Traversal
- Abilities (DaimahouGames third-party module integration)
NetworkTransportBridge/INetworkTransportBridgeNetworkCharacter- Module managers/controllers (
Core,Inventory,Stats,Shooter,Melee,Quests,Dialogue,Traversal,Abilities) NetworkSecurityManager+SecurityIntegration
- Implement your bridge by inheriting
NetworkTransportBridge. - Wire outbound delegates from managers/controllers to your transport sender.
- Route inbound transport packets to the matching manager/controller
Receive*APIs. - Register ownership mappings early (
characterNetworkId -> ownerClientId) so strict validation succeeds from first request. - Normalize sender IDs through
NetworkTransportBridge.TryConvertSenderClientId(...)(clientId = 0is valid).
Use Game Creator > Networking Layer > PurrNet Scene Setup Wizard for PurrNet projects. The generic scene setup wizard is hidden automatically when a transport-specific wizard is installed. Follow this guide when no PurrNet Transport is present: https://arawn-software-publishing.gitbook.io/networking-layer-for-gc2/getting-started/quickstart
When a Player Prefab is assigned and preparation is enabled, the wizard can add NetworkIdentity, NetworkCharacter, PurrNetNetworkCharacterAuto, selected module controllers, optional NetworkVariableController for local GC2 variables, and pre-registered animation clips used by Network State, Dash, or Gesture instructions.
Use Game Creator > Networking Layer > Patches outside Play Mode. The PurrNet
Scene Setup Wizard validates the required patch for every selected module.
- Inventory, Melee, Shooter, and Traversal networking require their current server-authority patches.
- Shooter also requires the remote-camera-safety Sight patch.
- Updating or reinstalling a patched GC2 module can overwrite its hooks; rerun the wizard and reapply any patch reported as missing or stale.
- The Networking Layer fails closed when required hooks are unavailable.
See:
Start here for transport wiring:
Recommended default flow: fork -> branch -> pull request.
- Fork the repository.
- Create a branch from
main(example:fix/melee-hit-validation). - Keep changes scoped and atomic (one concern per PR when possible).
- Verify Unity compiles cleanly for affected modules (no new errors).
- Open a PR with:
- What changed
- Why it changed
- How to test it
Notes:
- If you have direct write access, branch + PR in the main repo is still preferred over direct pushes to
main. - For release packaging/sync, include
Assets/Arawn/NetworkingLayerForGC2/and its generated documentation/assets as required by the package release.
This networking layer is MIT licensed.
See: