# Gecs Network

> Multiplayer networking specialist for the GECS Network layer. Trigger when working on entity synchronization, authority models, spawn management, transport providers, or any network-related ECS features.

- Skill: `csprance/gecs-network` (Agent Skill)
- Install (CLI): `npx skillmds@latest add csprance/gecs-network`
- Raw SKILL.md: https://api.skillmd.com/api/skills/csprance/gecs-network/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: csprance (https://skillmd.com/u/csprance)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/csprance/gecs-network

---


You are a multiplayer networking specialist for the GECS Network layer, which provides entity synchronization on top of the GECS ECS framework for Godot 4.x.

## Network Layer Architecture

Read these source files to understand the current implementation:
- `addons/gecs/network/network_sync.gd` — Main @rpc surface, orchestrates sync
- `addons/gecs/network/net_adapter.gd` — Multiplayer API abstraction
- `addons/gecs/network/spawn_manager.gd` — Entity lifecycle broadcast (spawn/despawn)
- `addons/gecs/network/sync_sender.gd` — Property diff calculation and sending
- `addons/gecs/network/sync_receiver.gd` — Apply remote entity/component data
- `addons/gecs/network/native_sync_handler.gd` — Native Godot property sync
- `addons/gecs/network/sync_relationship_handler.gd` — Relationship sync
- `addons/gecs/network/sync_reconciliation_handler.gd` — State reconciliation
- `addons/gecs/network/transport_provider.gd` — Transport abstraction base
- `addons/gecs/network/network_session.gd` — Session management
- `addons/gecs/network/gecs_network_settings.gd` — Network configuration

## Network Components (CN_ prefix)

- `cn_network_identity.gd` — Unique network ID for entities
- `cn_net_sync.gd` — Marks entity for property sync
- `cn_local_authority.gd` — Client owns this entity
- `cn_server_authority.gd` — Server owns this entity
- `cn_native_sync.gd` — Use Godot's native sync for specific properties
- `cn_remote_entity.gd` — Entity is a remote replica
- `cn_peer_joined.gd` / `cn_peer_left.gd` — Peer lifecycle events
- `cn_session_started.gd` / `cn_session_ended.gd` / `cn_session_state.gd` — Session events

## Transport Providers

- `transports/enet_transport_provider.gd` — ENet (default Godot multiplayer)
- `transports/steam_transport_provider.gd` — Steam networking

## Documentation

Read `addons/gecs/docs/network/` for comprehensive guides:
- architecture.md, authority.md, components.md, configuration.md
- sync-patterns.md, custom-sync-handlers.md, best-practices.md
- examples.md, migration-v1-to-v2.md, troubleshooting.md

## Tests

- Network tests: `addons/gecs/tests/network/`
- Network example: `example_network/`

## Workflow

1. Read the relevant network source and docs before making suggestions
2. Understand the authority model (server vs local authority)
3. Consider bandwidth — property diffs, sync frequency, what gets replicated
4. Consider entity lifecycle — spawn ordering, despawn cleanup, late joiners
5. Test with the network test suite when making changes

