close

Features

Production-ready multiplayer networking for Unity. Everything you need to ship a networked game.

Available on the Unity Asset Store

GONet (free, v1.5) and GONet Legendary (paid, v1.6.26) are available now on the Unity Asset Store.

Legendary adds WebGL/WebRTC browser multiplayer, APSF beta, Nightwatch session intelligence, record & replay, Steam transport, host failover, fast iteration mode, lifecycle hardening, ticket support, and more.

Every card below with a GONet Legendary chip is exclusive to the paid SKU. Everything else is included in the free v1.5 release.

GONet Legendary is one paid Asset Store SKU at $24.99. Optional advanced cloud usage tiers for AI-assisted analysis and esports-scale replay workflows may be introduced later.

One-time purchase. No concurrent-user caps. No revenue share. No rug-pull risk. Ship to any number of players for the same price. Read the full positioning →

Often overlooked in Free v1.5

Six features that already ship in Free v1.5 on the Asset Store today, but are rarely discovered until you dig through the source.

Auto-adjusting quantization baselineFree v1.5

Sub-millimeter precision with effectively unlimited range — the quantization window follows the value instead of capping it.

Every auto-synced field can be configured with a QuantizeDownToBitCount and a narrow QuantizeLowerBound / QuantizeUpperBound window — say, a tight ±32 meter range at 16 bits for sub-millimeter precision. GONet tracks each field's own baselineValue_current offset. As the value drifts toward either edge of the configured window, GONet broadcasts a reliable ValueMonitoringSupport_NewBaselineEvent (one per supported type: Single, Vector2, Vector4, Quaternion) to every peer and keeps quantizing around the new offset. The practical effect is fine precision with effectively unlimited range — the window follows wherever the value goes.

Honest trade-off

Baseline updates are reliable messages, so if your quantization window is narrower than the value's per-sync-interval rate of change, non-owner clients can see a brief hitch every time the baseline advances. Pick a window that comfortably encloses the expected delta per sync tick and this is a non-event; SubQuantizationDiagnostics is built in for detecting when your window is too tight.

Custom value blending plugin API

Implement IGONetAutoMagicalSync_CustomValueBlending to plug in your own extrapolation or smoothing strategy per field. Shipped defaults cover Float, Vector2, Vector3, and Quaternion using quadratic Bezier and acceleration-based extrapolation. Most frameworks hardcode a single blend strategy; GONet lets you swap it.

Custom serializers plugin API

Implement IGONetAutoMagicalSync_CustomSerializer to control exactly how a field hits the wire — e.g. half-float packing or custom bit layouts. The codegen pipeline picks up registered serializers via cachedCustomSerializers, so there is no runtime reflection cost.

FixedUpdateAfterGONetReady

A dedicated physics-tick update pass distinct from Unity's FixedUpdate that only fires once the network sync state is ready. Use it for network-aware physics logic that must read already-applied synced values — no more races against late-joining participants.

Persistent events + cancel-out

Mark events with IPersistentEvent, ITransientEvent, ICancelOutOtherEvents, ILocalOnlyPublish, or ISelfReturnEvent. A door-opened event can cancel a prior door-closed in the persistent replay log; pooled events return themselves automatically. O(1) hierarchy dispatch via TypeHierarchyCache.

Sync profile ScriptableObject templates

Six shipped .asset profiles in Resources/GONet/SyncSettingsProfiles/: default, animator controller parameters, sample input (blend + immediate), and transform position + rotation. Author your own profiles in the inspector — no code changes needed, no recompile.

Core Features in Detail

A comprehensive networking toolkit with no artificial limitations on the features that matter.

Auto-Magical Data Synchronization

Synchronize game state across the network with minimal configuration. GONet handles the complexity of keeping distributed state consistent.

Transform sync (position, rotation, scale)
Animator Controller parameters
MonoBehaviour fields via [GONetAutoMagicalSync]
Input state tracking
Omni-directional owner-to-non-owner communication
Auto-networked GameObject.Instantiate()
User-configurable sync profiles/templates
Interpolation/extrapolation for smooth blending

Velocity-Augmented Sync

GONet's signature bandwidth optimization. Instead of sending full position values every frame, the system alternates between VALUE and VELOCITY packets. Clients extrapolate using the last-known velocity, dramatically reducing bandwidth for objects with predictable motion.

80-90% bandwidth savings for moving objects
Code-generated at compile time (zero runtime overhead)
Slow-moving objects see the highest savings
Configurable via IsVelocityEligible on [GONetAutoMagicalSync]
Works alongside quantization for compounding savings
Best for characters, vehicles, and projectiles

SoA + Burst Blending

Structure-of-Arrays layout with Unity Burst-compiled parallel jobs processes all networked objects in a single pass, achieving 85% CPU reduction vs per-object blending.

85% CPU reduction — tested with 800+ objects in the RPC Playground scene
Hermite spline interpolation for smooth curves
Lock-free ring buffers (no thread contention)
Fully automatic — no configuration needed
Unity Jobs + Burst compiled for SIMD optimization
Configurable adaptive blend buffer for congestion

Async/Await RPCs

Modern RPC system with native async/await, server-side validation, and persistent RPCs for late-joiner support.

ServerRpc, ClientRpc, TargetRpc with async/await
Server-side validation (e.g., chat vulgarity filtering)
Delivery reports for reliable confirmation
Persistent RPCs stored for late-joiners
Up to 8 MemoryPack-serializable parameters
Deferred RPC system for not-yet-ready components

Event Bus System

A type-safe publish/subscribe system with hierarchical routing, persistent event replay for late-joiners, and object pooling for transient events.

Type-hierarchical publish/subscribe routing
Transient events (session-only, poolable)
Persistent events (stored for late-joiner replay)
ISelfReturnEvent for automatic object pooling
ICancelOutOtherEvents for event cancellation
TypeHierarchyCache for 100-500x faster subscriptions

Time Synchronization

Production-grade time sync using an NTP-style 4-timestamp protocol with Golden Sample filtering to resist bufferbloat and network jitter.

NTP-style 4-timestamp protocol
Golden Sample bufferbloat-resistant filtering
Three correction strategies (snap/dilation/interpolation)
Dual time systems (standard + physics)
Nanosecond-resolution time reads
Time continuity preserved through host transitions (host failover in GONet Legendary)

Host Migration & Failover

GONet Legendary

Distributed host architecture with automatic recovery. If the host disconnects or crashes, a new host will be elected and the session will continue seamlessly.

Hot-standby failover architecture
Gossip protocol for health monitoring
Host scoring algorithm for best-candidate election
Automatic recovery with full state preservation
Time continuity during host transitions
Deterministic election (no negotiation round)

Authority-Partitioned State FusionGONet Legendary Beta

APSF lets independently-authoritative gameplay slices fuse into a coherent shared state. It is available to all Legendary developers, with Dajimo's upcoming Steam build as the first real-game integration.

Partition state by authority instead of forcing every action through one rewind path
Keep local action responsive while preserving server/client reconciliation boundaries
Built for high-action multiplayer where classic lag compensation is not the only answer
Compatible with GONet auto-magical sync, events, RPCs, pooling, and time sync
Dajimo-proven usage pattern for team-based action games
Beta surface: ship with validation and profile against your game rules

Transport Layer

Pluggable transport abstraction with production-ready implementations. NetcodeIO provides UDP with encryption and token-based authentication out of the box.

IGONetTransport pluggable abstraction
NetcodeIO (UDP + encryption + token auth)
ReliableNetcode 7-phase reliable layer
10-channel priority message routing
Dual-stack IPv4/IPv6 support
AOT compilation and IL2CPP compatible

GONet Legendary: Steamworks P2P transport with Steam Datagram Relay plus WebGL/WebRTC browser transport for Unity WebGL builds.

Congestion Management

Adaptive per-client congestion control that automatically adjusts sync rates and buffer sizes based on real-time network conditions.

Temporal thinning during congestion
Frame spreading to prevent burst traffic
Per-client backpressure with trickle mode
Adaptive blend buffer (100ms normal, 750ms congested)
Configurable via GONetGlobal inspector
Automatic recovery when congestion clears

Serialization & Compression

Efficient data serialization with multiple compression strategies, optimized for low-bandwidth multiplayer.

Automatic LZ4 compression on every packet (all transports)
MemoryPack serialization (event traffic)
Configurable value quantization (8-bit, 16-bit, 32-bit)
Message bundling to reduce packet overhead
Temporal chunking for large persistent event bundles
Custom override mechanisms for specialized types

Code Generation

Zero-boilerplate networking through compile-time code generation. GONet generates companion classes that handle serialization, deserialization, and sync automatically.

SNAP pipeline generates companion classes
Velocity-augmented sync generated at compile time
Zero runtime reflection overhead
Automatic dirty-flag tracking per field
Configurable generation via GONetGlobal
Fast Iteration Mode to skip generation during dev (GONet Legendary)

Fast Iteration ModeGONet Legendary

Skip the code generation step when entering Play mode for near-instant iteration. Perfect for rapid gameplay prototyping without waiting for the full generation pipeline.

Near-instant Play mode entry
Toggle on/off from the GONet Editor Support window
Skips codegen, domain reload, and session reset
Dramatically reduces edit-play-test cycle time

10-Channel Message Routing

A QoS-aware channel system that separates time sync, auto-magical state, event singles, custom serialization, and client-initialization traffic into dedicated reliable and unreliable lanes, so connection-critical messages are never stuck behind gameplay bursts.

TimeSync_Unreliable (NTP-style clock sync)
AutoMagicalSync reliable + unreliable + ValuesNowAtRest_Reliable
CustomSerialization reliable + unreliable
EventSingles reliable + unreliable
ClientInitialization event + custom-serialization lanes
Reliable/unreliable QoS per channel, message bundling per channel

Spawning & Object Pooling

Network-aware instantiation with zero-latency spawning via GONetId batch pre-allocation and configurable limbo modes for edge cases.

Zero-latency spawning via GONetId batching
Configurable batch sizes (100-1000 IDs)
Four limbo modes for batch exhaustion
Network-safe despawn with event cancellation
Persistent spawn events for late-joiners
Resources and Addressables prefab loading

GONet Legendary: Built-in adaptive object pooling with IGONetPoolResettable and automatic pool scaling.

Record & ReplayGONet Legendary

Capture full multiplayer sessions with zero gameplay impact. Play back with seeking, reverse, and speed control. Analyze with built-in anti-cheat, performance, and highlight detection.

EventBus-driven session capture (background thread)
Always-on circular buffer for instant replay
Keyframe seeking in hour-long recordings
True reverse playback with keyframe restore
Anti-cheat, performance, and highlight analyzers
Input recording (legacy + new Input System)
Multi-recording merge for cross-perspective analysis
LZ4 compressed .gonetreplay format (v2)

Nightwatch Session IntelligenceGONet Legendary

Turn every session recording into an actionable engineering briefing. Eight pattern families, cross-recording correlation, deterministic investigation steps, and severity-ranked findings — available in the Unity Editor, on headless CI, and through Claude / Cursor / Copilot / Windsurf / Codex agent skills.

Event Rate Health, Frame Timing, GC & Memory patterns
Timeline Integrity & Build Mismatch detection
Session Profile, Authority Conflicts, Anti-Cheat Signals
Cross-recording server vs client correlation
Deterministic investigation steps (2–5 per finding)
Severity prioritization (Critical / Error / Warning / Info)
Nightwatch Editor Window with authority filter
Headless CLI for batch briefings in CI
Optional cloud assessment upload (graceful offline)
Track B JSON v2.0 assessment schema

Lifecycle Contract & Pool HardeningGONet Legendary

A formally-documented lifecycle contract with explicit readiness gates, exactly-once predicted pool borrow finalization, set-once sync field protection, and development-time validation. Ordering bugs fail loudly before they reach a build.

Readiness Contract with explicit flag ownership
Pool Lifecycle Contract (warmup / borrow / return / re-borrow)
Predicted Pool Borrow Finalization (Confirmed / Redirected / Denied / Cancelled)
Set-Once Sync Field Guarantees with deferral recovery
Phase 2 readiness precondition validation
Phase 3 pooled-disable contract validation
Phase 4 session-reset + availability hardening
3,000+ unit tests (edit mode + play mode)

IL2CPP / Code Stripping SafetyGONet Legendary

A three-layer defense against IL2CPP managed code stripping silently breaking companion dispatch. Ships on every IL2CPP build target: iOS (mandatory), Android ARM64 (default), WebGL (mandatory), consoles (mandatory), and optional IL2CPP on Windows / Mac / Linux.

Layer 1: DeclaredOnly reflection + safe fallback
Layer 2: [Preserve] on every reflection-detected virtual
Layer 3: link.xml preserves GONetBehaviour hierarchy
Fail-safe: reflection failure → hasOverride = true (never silently skipped)
Diagnostic log entry when the safe fallback triggers
No new reflection-based gating without the full defense

Network & Platform

Broad protocol and platform support for any multiplayer architecture.

UDP with NetcodeIO transport
WebGL/WebRTC browser multiplayer in GONet Legendary
Reliable UDP via ReliableNetcode
Encryption and token-based authentication
10 QoS-aware channels (reliable + unreliable lanes)
Dedicated server / LAN / P2P with NAT punchthrough
Managed C# with AOT compilation (iOS)
IL2CPP compatible
Congestion, message flow, adaptive pool, and auto role diagnostic logging

Ready to build multiplayer?

Get GONet free from the Unity Asset Store today, or buy GONet Legendary for cloud replays, Steam transport, WebGL/WebRTC browser multiplayer, APSF beta, host failover, ticket support, and more.

Last audited: 2026-05-25Against: Free v1.5b5 and Legendary v1.6.26Commit: 6d124bf7
See Free vs Legendary split →

Feature catalog. Every Legendary-only card carries an explicit GONet Legendary chip; all Free features verified against the v1.5b5 worktree. Legendary availability verified against the Unity Asset Store package 372854 listing. 2026-04-09 audit corrected channel count (10, not 12), replaced '20+ diagnostic flags' claim with the real 4 enable* bools + reliable/scene tracing flags, and added an 'Often overlooked in Free v1.5' section covering auto-adjusting quantization baseline, custom value blending / serializer plugin APIs, FixedUpdateAfterGONetReady, persistent event markers with cancel-out, and the six shipped sync profile assets.

Features | GONet