EVERYTHING XIAOMI
Get listed

Naia

Naia is a free Rust networking library for multiplayer games built around server-controlled entity replication and typed messages.

Place
#17 of 26
Score
6.4
Naia's website

What Naia is

Naia is a free Rust networking library for multiplayer games built around server-controlled entity replication and typed messages. The server tracks changes to replicated component fields and sends them to clients that share a room with the relevant entities; clients receive spawn, update, and despawn events. Rooms can separate matches, zones, or lobbies. Client-server messages use channels with configurable ordering and reliability, and servers can grant, deny, or revoke a client’s write authority over an entity. Naia is not tied to a particular ECS and includes adapters for Bevy and macroquad. Native Linux, macOS, and Windows clients use UDP, while browser clients can use WebRTC data channels through WebAssembly builds. Native iOS and Android support is not available, though WASM clients can run in mobile web views. The library provides tick-buffered input delivery for prediction and rollback, but leaves prediction and interpolation logic to the developer. Native UDP is unencrypted, and Naia does not provide packet authentication or encryption.

Good

  • Server sends entity spawn, update, and despawn events.
  • Message channels offer configurable ordering and reliability.
  • Includes Bevy and macroquad adapters.
  • Tick-buffered input delivery supports prediction and rollback.

Watch out

  • Native iOS and Android are not supported.
  • Native UDP transport is unencrypted.
  • Prediction and interpolation logic are not built in.
  • Steam relay networking is not built in.

Who it suits

Naia suits Rust game developers who need server-authoritative replication and typed client-server messages. It may also fit teams using Bevy or macroquad and willing to implement prediction or interpolation logic themselves.

Verdict

Naia supplies replication, typed messaging, rooms, and authority controls for multiplayer game networking. Developers need to account for its mobile-native and security limits, and provide prediction or interpolation logic themselves.

The facts

Each one read from Naia's own pages, with the date it was checked.

What it does

Authority
The server can delegate write authority over an entity to a client and can grant, deny, or revoke that authority.checked 2 Oct 2001
ECS compatibility
Naia is ECS-agnostic and includes Bevy and macroquad adapters.checked 3 Oct 2001
Engine support
Naia is ECS-agnostic and includes Bevy and macroquad adapters.checked 2 Oct 2001
Integrations
The project lists adapters for Bevy and macroquad, plus optional feature-gated metrics and tracing integration.checked 3 Oct 2001
Licensing
The repository lists Apache-2.0 and MIT licenses.checked 3 Oct 2001
Messaging
Typed messages support ordered-reliable, unordered-reliable, and unreliable channels, including tick-buffered channels for client input.checked 3 Oct 2001
Mobile support
Native iOS and Android clients are not yet supported; the project describes running the WASM client in iOS or Android WebViews as an option.checked 3 Oct 2001
Native networking
Linux, macOS, and Windows use UDP through naia-socket-native.checked 2 Oct 2001
Not built in
Steam relay networking is not built in, though the Socket trait can be extended by a community crate.checked 2 Oct 2001
Prediction
Naia provides tick-buffered input delivery for prediction and rollback, but prediction and interpolation logic are not built in.checked 2 Oct 2001
Product
Naia is a Rust networking library for server-authoritative entity replication and typed message passing in multiplayer games.checked 3 Oct 2001
Purpose
Naia is a Rust networking library for server-authoritative entity replication and typed message passing in multiplayer games.checked 2 Oct 2001
Replication
The server sends changed replicated component fields to in-scope clients, which receive entity spawn, update, and despawn events.checked 3 Oct 2001
Room scoping
A user and entity must share a room for replication, and rooms can represent matches, zones, or lobbies.checked 2 Oct 2001
Security limits
Naia does not provide packet authentication or encryption, anti-cheat, application-layer rate limiting, or validation of client-authoritative component values.checked 3 Oct 2001
Security model
Naia describes itself as a networking library, not a security framework, and states that native UDP transport is unencrypted.checked 3 Oct 2001
Security reporting
The GitHub repository links to a security policy.checked 2 Oct 2001
Support
The security policy asks people to report security issues privately to maintainers via Discord or email before filing a public GitHub issue.checked 3 Oct 2001
Transports
Native clients use UDP, while browser clients can use WebRTC data channels through the WASM target.checked 3 Oct 2001

Where it runs

Browser networking
Browser clients can use WebRTC data channels with the wbindgen feature and builds made with wasm-pack or trunk.checked 2 Oct 2001
Browser security
The security policy says browser WebRTC data channels use DTLS, while AuthEvent credentials are plaintext from Naia’s application-layer perspective.checked 3 Oct 2001

Money

Planned transport
Native QUIC transport with TLS 1.3 is listed as planned, with no set timeline.checked 3 Oct 2001

Alternatives to Naia

All alternatives
  1. 1Colyseus logo

    Colyseus

    Free planOpen sourceAndroidiOSWebAPI
    8.5From $15 a month
  2. 2Photon Realtime logo

    Photon Realtime

    Free planAndroidiOSWebAPI
    8.1From $0.29 a month
  3. 3Unity logo

    Unity

    Free planAndroidiOSWebLinux
    7.8Free plan
  4. 4Normcore logo

    Normcore

    Free planAndroidiOSWebLinux
    7.5From $49 a month
  5. 5

    SmartFoxServer

    Free planAndroidiOSWebAPI
    7.5From €32.50 a month
  6. 6Photon Fusion logo

    Photon Fusion

    Free planAndroidiOSWebLinux
    7.4From $0.50 a month