// the find
heroiclabs/nakama-dart
Nakama Dart Client SDK
Official Dart/Flutter client SDK for Nakama, the open-source game backend from Heroic Labs. Covers authentication, realtime sockets, matchmaking, leaderboards, chat, and storage — everything you'd need to wire a Flutter game to a Nakama server. Maintained by Heroic Labs with community contributors.
Dual transport support — both gRPC and REST HTTP — with a clean abstraction that lets you swap at init time without changing call sites. Models use freezed for immutable, copyWith-able value types with JSON serialization baked in, which is the right call for game state. The websocket client handles the realtime protocol cleanly and the example app covers most features with working code rather than toy snippets. Active maintenance with a push as recently as June 2026.
The protobuf-generated files are checked in rather than generated at build time, so keeping them in sync with server proto updates is a manual, error-prone step. No offline support or local caching layer — if the socket drops mid-match you're on your own to reconcile state. The singleton pattern for NakamaWebsocketClient (`.instance`) makes it awkward to manage multiple simultaneous connections or write meaningful unit tests without global state. Test coverage is integration-only and requires a live server, so CI is expensive to run correctly.