Social Infrastructure at Scale

Welcome to Nakama

Nakama is a suite of APIs that will make you a more productive games developer. It is built by Heroic Labs to handle the difficult but essential services that go into all social and realtime games and apps.

You get to focus on building your game, while Nakama handles the heavy-lifting for user accounts, social login, in-game chat, data storage, match hosting and more.

In this guide you’ll learn how to build games using our Unity client to access the services provided by a Nakama instance.

Get started

Can’t wait to try Nakama? You’ll need to do two things to get started:

To get the most out of Nakama, you should follow the rest of this guide. And if you need help, get in touch with the Heroic Labs team about our developer training.

Working with Nakama

Nakama comes in two parts: an open source back-end distributed server and a client for your favourite game engine, such as Unity. You can either run Nakama on your own servers or host your game’s back-end in the Heroic Labs cloud.

Using Nakama, you can add the following functionality to your game with just a few API calls:

  • built for the cloud User Accounts Manage player accounts authenticated by device ID, social profiles or using your own custom server.

  • social server Social Login Authenticate player logins using Facebook, Google, Steam and other providers.

  • data backup Data Storage Store and retrieve data – such as game saves, maps, highscore board, inventory items and other gameplay objects – using Nakama as your distributed data store.

  • always online In-game Chat Add realtime chat to your games, from private player-to-player direct messages, through guild and group chat, to open named chat rooms.

  • operations management Friends Build a social network into your games with Nakama’s friends system. Players can add friends, import them from existing social networks, see who is online, chat in realtime, challenge friends to matches and so on.

  • core game apis Groups Take the friends system a step further with groups. Groups are searchable and ideal for creating guilds and clans.

  • realtime Realtime Multiplayer Focus on building your gameplay while Nakama runs a server-authoritative view of each game in play. Players can create new private and public matches, or join an existing in-progress match.

  • strong consistancy Turn-based Multiplayer If you’re building asynchronous (PvP) or turn-based games, Nakama will maintain the authoritative match state and send notifications in realtime when turns are completed.

  • local development Game Engine Support Build the next big hit for mobile, console, desktop, and web with Nakama. First-class game engine integration (including Unity) for ease of development.

You get all this and the ability to scale massively. Nakama works as a distributed cluster, so when your game gets featured in the App Store then all you need do is fire up a few more Nakama instances and you’ll handle the extra load with ease.

During development, you can run the Nakama server on your MacOS, Linux or Windows laptop. When it’s time to move into production, either spin up your own cluster or use the Heroic Labs cloud service.

What you can build with Nakama

You can use Nakama for pretty much any type of game or social app. There are some game types, though, that are really well suited to Nakama.

  • Low latency realtime games Nakama is ideal for games where low-latency matters. Realtime shooters, collaborative battles, race games and more.

  • Player vs Player Maintain authoritative game state and provide in-game social functionality, such as search for opponents, guilds, groups, or friends. Suited for active or passive gameplay.

  • Puzzlers and board games Store progress, add user generated levels, and send gifts to players. Use Nakama to track it all in a user’s virtual wallet.

  • Social games Team up with friends, compete together, or against each other. Drive competition via social leaderboards.

  • MMO/MOBA Fill worlds with players and run live events. Run in-game group chat to increase guild combat efficiency.

  • Arcade Compete against friends' best scores. Distribute daily virtual rewards and boost each round of play.

What to do next

The first step to building your game with Nakama is to install it on your development laptop.

If you're already familiar with Nakama and want a refresher, you can jump through this guide by using the navigation on the left.