dashwire

Multiplayer networking for Dart games. The transport, session, and tick core of the dashwire family, engine-agnostic and usable from any Dart or Flutter project.

This package provides:

  • Wire primitives: ByteWriter/ByteReader (little-endian, varints, f32, length-prefixed strings) and a 32-bit fnv1a32 name hash.
  • A transport abstraction (Channel, NetMessage, WireConnection) with loopback and WebSocket transports (native and web) and a network condition SimulatorConnection for latency, jitter, loss, and duplication.
  • A versioned session handshake with peer-id assignment and per-connection ByteBudget accounting.
  • NetClock server-tick synchronization and a fixed-timestep TickLoop.

Replicated state lives in dashwire_replication; a reliable UDP transport lives in dashwire_udp.

Compatibility

Pure Dart, no Flutter dependency. Compiles for native, dart2js, and dart2wasm.

Libraries

dashwire
Multiplayer networking for Dart games, transport, session, and tick core.
server
Server-side pieces of dashwire that require dart:io.