# Client Libraries

**URL:** https://forum.heroiclabs.com/c/client-library/19.md

[Latest](https://forum.heroiclabs.com/latest.md) · [Categories](https://forum.heroiclabs.com/categories.md) · [Tags](https://forum.heroiclabs.com/tags.md)

---

## [About the Client Libraries category](https://forum.heroiclabs.com/t/about-the-client-libraries-category/1813)

<div class="topic-metadata">

**Author:** [@sean](https://forum.heroiclabs.com/u/sean)\
**Replies:** 0

</div>

Discussions about Nakama client libraries (SDKs) internals. Topics about how to use client library features to build your game take place in Game Design.

---

## [Making a Love2D client: is the Defold client's requirement for an HTTP method strictly HTTP?](https://forum.heroiclabs.com/t/making-a-love2d-client-is-the-defold-clients-requirement-for-an-http-method-strictly-http/6590)

<div class="topic-metadata">

**Author:** [@Bobit](https://forum.heroiclabs.com/u/Bobit)\
**Replies:** 1\
**Last updated:** [August 20, 2026, 9:34am UTC](https://forum.heroiclabs.com/t/making-a-love2d-client-is-the-defold-clients-requirement-for-an-http-method-strictly-http/6590 "2026-08-20T09:34:19Z")

</div>

Referring to this Adapting to other engines Adapting the Nakama and Satori Defold clients to another Lua based engine should be as easy as providing another engine module when configuring the Nakama client: … The en…

---

## [Advice / questions on godot client and websocket binary (protobuf)](https://forum.heroiclabs.com/t/advice-questions-on-godot-client-and-websocket-binary-protobuf/6548)

<div class="topic-metadata">

**Author:** [@one-ton-fatberg](https://forum.heroiclabs.com/u/one-ton-fatberg)\
**Replies:** 1\
**Last updated:** [May 12, 2026, 10:51pm UTC](https://forum.heroiclabs.com/t/advice-questions-on-godot-client-and-websocket-binary-protobuf/6548 "2026-05-12T22:51:28Z")

</div>

Hello, My basic inquiry is how should I go about sending/receiving binary data using protobuf from godot client to nakama. Here’s where I’m at currently: with godobuf and the godot sdk, I’ve tried to modify some of the…

---

## [Network disconnection and reconnection](https://forum.heroiclabs.com/t/network-disconnection-and-reconnection/6431)

<div class="topic-metadata">

**Author:** [@zhuguiqing](https://forum.heroiclabs.com/u/zhuguiqing)\
**Replies:** 4\
**Last updated:** [April 2, 2026, 12:04pm UTC](https://forum.heroiclabs.com/t/network-disconnection-and-reconnection/6431 "2026-04-02T12:04:33Z")

</div>

While developing a game in Unity, I’m experiencing significant performance lag during network disconnection and reconnection processes. Upon investigation with Unity’s Profiler, I’ve identified that the high latency is o…

---

## [Apple authentication is not configured](https://forum.heroiclabs.com/t/apple-authentication-is-not-configured/6508)

<div class="topic-metadata">

**Author:** [@zaichenhu](https://forum.heroiclabs.com/u/zaichenhu)\
**Replies:** 2\
**Last updated:** [April 1, 2026, 12:05pm UTC](https://forum.heroiclabs.com/t/apple-authentication-is-not-configured/6508 "2026-04-01T12:05:43Z")

</div>

Client.AuthenticateAppleAsync(appleIdentityToken); ApiResponseException(StatusCode=400, Message=‘Apple authentication is not configured.’, GrpcStatusCode=9) @sesposito

---

## [Following Users is not working](https://forum.heroiclabs.com/t/following-users-is-not-working/6516)

<div class="topic-metadata">

**Author:** [@SirCez](https://forum.heroiclabs.com/u/SirCez)\
**Replies:** 2\
**Last updated:** [March 4, 2026, 5:01pm UTC](https://forum.heroiclabs.com/t/following-users-is-not-working/6516 "2026-03-04T17:01:32Z")

</div>

The example given here simply does not work. socket.on\_statuspresence(function(message) local pressences = message.on\_status\_presence if pressence then -- todo: check if online for \_, presence in ipairs(pre…

---

## [Console support for Godot games](https://forum.heroiclabs.com/t/console-support-for-godot-games/6518)

<div class="topic-metadata">

**Author:** [@gotojevic](https://forum.heroiclabs.com/u/gotojevic)\
**Replies:** 1\
**Last updated:** [March 4, 2026, 1:37pm UTC](https://forum.heroiclabs.com/t/console-support-for-godot-games/6518 "2026-03-04T13:37:59Z")

</div>

Hi, we are looking into porting a game made in Godot 4 to PS5 and Xbox Series and I was wondering does Nakama support consoles for games made in Godot? I see on the documentation page that Unity i supported and C++/Unre…

---

## [An option to decline a match / detect another client failing to join](https://forum.heroiclabs.com/t/an-option-to-decline-a-match-detect-another-client-failing-to-join/6514)

<div class="topic-metadata">

**Author:** [@programaro](https://forum.heroiclabs.com/u/programaro)\
**Replies:** 1\
**Last updated:** [March 4, 2026, 9:51am UTC](https://forum.heroiclabs.com/t/an-option-to-decline-a-match-detect-another-client-failing-to-join/6514 "2026-03-04T09:51:47Z")

</div>

Hey! I’m writing a mobile game with Godot + Nakama, using client-authoritative for now. Trying to handle match queue and join, and that when it came up: Is there a way to decline a match after it has been found instead …

---

## [Need advice on relay server-client setup for long intervals between data messages](https://forum.heroiclabs.com/t/need-advice-on-relay-server-client-setup-for-long-intervals-between-data-messages/6491)

<div class="topic-metadata">

**Author:** [@AllenPDX](https://forum.heroiclabs.com/u/AllenPDX)\
**Replies:** 2\
**Last updated:** [January 15, 2026, 5:59pm UTC](https://forum.heroiclabs.com/t/need-advice-on-relay-server-client-setup-for-long-intervals-between-data-messages/6491 "2026-01-15T17:59:17Z")

</div>

Hey all, We’ve developed a Unity/WebGL game with Nakama using the relay server setup (one client acts as host). We are having disconnect/timeout issues regarding how long players take to make moves. You can think of t…

---

## [Google/Facebook Authentication Integration for Unity Windows Build](https://forum.heroiclabs.com/t/google-facebook-authentication-integration-for-unity-windows-build/6490)

<div class="topic-metadata">

**Author:** [@zaichenhu](https://forum.heroiclabs.com/u/zaichenhu)\
**Replies:** 0\
**Last updated:** [January 12, 2026, 7:49am UTC](https://forum.heroiclabs.com/t/google-facebook-authentication-integration-for-unity-windows-build/6490 "2026-01-12T07:49:30Z")

</div>

Has anyone successfully implemented Google or Facebook account authentication for Unity Windows desktop builds with Nakama? Are there any demo projects or recommended approaches for handling OAuth callbacks in standal…

---

## [Unity WebGL custom authentification won't work](https://forum.heroiclabs.com/t/unity-webgl-custom-authentification-wont-work/6221)

<div class="topic-metadata">

**Author:** [@moteam](https://forum.heroiclabs.com/u/moteam)\
**Replies:** 4\
**Last updated:** [November 6, 2025, 5:26pm UTC](https://forum.heroiclabs.com/t/unity-webgl-custom-authentification-wont-work/6221 "2025-11-06T17:26:57Z")

</div>

Hi. I’m experiencing an issue with my game made on Unity, specifically - the WebGL build. I’ve tried everything by now, and got no idea how to troubleshoot. So, the server side is in typescript, and the sdk is Unity. …

---

## [Can the Nakama Client SDK Use Protobuf Directly Instead of JSON REST API?](https://forum.heroiclabs.com/t/can-the-nakama-client-sdk-use-protobuf-directly-instead-of-json-rest-api/4856)

<div class="topic-metadata">

**Author:** [@jiangben](https://forum.heroiclabs.com/u/jiangben)\
**Replies:** 3\
**Last updated:** [October 27, 2025, 9:20am UTC](https://forum.heroiclabs.com/t/can-the-nakama-client-sdk-use-protobuf-directly-instead-of-json-rest-api/4856 "2025-10-27T09:20:02Z")

</div>

Hello, I’ve been exploring the Nakama Client SDK and noticed that it uses a JSON REST API for sending requests. My question is, is it possible for the client to directly use Protobuf instead? I’ve looked into the Nakama…

---

## [C++ Signing Out?](https://forum.heroiclabs.com/t/c-signing-out/6422)

<div class="topic-metadata">

**Author:** [@Mehoo462](https://forum.heroiclabs.com/u/Mehoo462)\
**Replies:** 3\
**Last updated:** [October 13, 2025, 5:14pm UTC](https://forum.heroiclabs.com/t/c-signing-out/6422 "2025-10-13T17:14:54Z")

</div>

Greetings, Is there a recommended signout process for the C++ client? A few things I notice: I use authenticateEmail() with create turned on. When I create a new user that user appears in the player list on the web…

---

## [I had been attacked by bot make a lot of account](https://forum.heroiclabs.com/t/i-had-been-attacked-by-bot-make-a-lot-of-account/6408)

<div class="topic-metadata">

**Author:** [@lukita41](https://forum.heroiclabs.com/u/lukita41)\
**Replies:** 1\
**Last updated:** [October 12, 2025, 2:31pm UTC](https://forum.heroiclabs.com/t/i-had-been-attacked-by-bot-make-a-lot-of-account/6408 "2025-10-12T14:31:03Z")

</div>

i need help i detect a lot of account, a people is making a lot of account with bot and my server not work. what i can do to stop it?

---

## [C++ Client: Issue parsing Error Codes from Server Hooks?](https://forum.heroiclabs.com/t/c-client-issue-parsing-error-codes-from-server-hooks/6417)

<div class="topic-metadata">

**Author:** [@Mehoo462](https://forum.heroiclabs.com/u/Mehoo462)\
**Replies:** 4\
**Last updated:** [September 30, 2025, 6:33pm UTC](https://forum.heroiclabs.com/t/c-client-issue-parsing-error-codes-from-server-hooks/6417 "2025-09-30T18:33:29Z")

</div>

Crossposting this from here for visibility. I have a simple before\_auth hook registered on my server to verify the version of the client. If the client is not on the latest version, I want to get an error back that can…

---

## [Utilise the dotnet client within a web app powered by Razor or Blazor?](https://forum.heroiclabs.com/t/utilise-the-dotnet-client-within-a-web-app-powered-by-razor-or-blazor/6414)

<div class="topic-metadata">

**Author:** [@kburgin](https://forum.heroiclabs.com/u/kburgin)\
**Replies:** 0\
**Last updated:** [September 24, 2025, 10:57am UTC](https://forum.heroiclabs.com/t/utilise-the-dotnet-client-within-a-web-app-powered-by-razor-or-blazor/6414 "2025-09-24T10:57:46Z")

</div>

Is it possible to use the .NET Nakama client library to connect a web app developed in C#? Are there certain architectures that support this, such as using Blazor to run the code within the browser, or would it be possi…

---

## [How Join Tick Thread on Authentication Error Callback?](https://forum.heroiclabs.com/t/how-join-tick-thread-on-authentication-error-callback/6390)

<div class="topic-metadata">

**Author:** [@Mehoo462](https://forum.heroiclabs.com/u/Mehoo462)\
**Replies:** 3\
**Last updated:** [September 16, 2025, 6:05pm UTC](https://forum.heroiclabs.com/t/how-join-tick-thread-on-authentication-error-callback/6390 "2025-09-16T18:05:52Z")

</div>

Greetings, I think I’ve hit my limit of my C++ understanding. If anyone here can help, it would be very much appreciated. I have a function in my program that takes user input and uses it to authenticate. This functi…

---

## [Socket disconnecting throwing error](https://forum.heroiclabs.com/t/socket-disconnecting-throwing-error/5261)

<div class="topic-metadata">

**Author:** [@UmarBhatPlaystrom](https://forum.heroiclabs.com/u/UmarBhatPlaystrom)\
**Replies:** 8\
**Last updated:** [September 16, 2025, 4:23pm UTC](https://forum.heroiclabs.com/t/socket-disconnecting-throwing-error/5261 "2025-09-16T16:23:11Z")

</div>

Hi! Recently I started getting an error each time my socket disconnects and I am trying to reconnect. As far as I understand socket.idle\_timeout\_ms is a flag in the configuration that is responsible for how long the idl…

---

## [How to enable gRpc communication from JS Client library?](https://forum.heroiclabs.com/t/how-to-enable-grpc-communication-from-js-client-library/6351)

<div class="topic-metadata">

**Author:** [@eduardomoroni](https://forum.heroiclabs.com/u/eduardomoroni)\
**Replies:** 1\
**Last updated:** [July 31, 2025, 10:20am UTC](https://forum.heroiclabs.com/t/how-to-enable-grpc-communication-from-js-client-library/6351 "2025-07-31T10:20:56Z")

</div>

I tried looking up on the docs and the forum how to enable gRPC for JS client. I can’t find it, can you give directions?

---

## [Handling package drop caused by bad connections in turn based game](https://forum.heroiclabs.com/t/handling-package-drop-caused-by-bad-connections-in-turn-based-game/4987)

<div class="topic-metadata">

**Author:** [@RobinM](https://forum.heroiclabs.com/u/RobinM)\
**Replies:** 2\
**Last updated:** [July 23, 2025, 12:09pm UTC](https://forum.heroiclabs.com/t/handling-package-drop-caused-by-bad-connections-in-turn-based-game/4987 "2025-07-23T12:09:45Z")

</div>

We’ve built a turn-based game using the TypeScript client and server for authoritative matches. The game is somewhat comparable to tic-tac-toe; it’s turn-based, and every move is checked by the server to ensure its valid…

---

## [Unity WebGL ListChannelMessagesAsync returns weird ChannelId](https://forum.heroiclabs.com/t/unity-webgl-listchannelmessagesasync-returns-weird-channelid/6304)

<div class="topic-metadata">

**Author:** [@mautoan11](https://forum.heroiclabs.com/u/mautoan11)\
**Replies:** 5\
**Last updated:** [July 14, 2025, 9:39am UTC](https://forum.heroiclabs.com/t/unity-webgl-listchannelmessagesasync-returns-weird-channelid/6304 "2025-07-14T09:39:52Z")

</div>

Hi, I got a weird ChannelId when calling ListChannelMessagesAsync. I client works fine on Desktop and Android. But when I tried to build on WebGL, the message seemed fine, but the values of ChannelId of messages are “…

---

## [First presence in matchmaker made match](https://forum.heroiclabs.com/t/first-presence-in-matchmaker-made-match/6294)

<div class="topic-metadata">

**Author:** [@EptesicusDev](https://forum.heroiclabs.com/u/EptesicusDev)\
**Replies:** 4\
**Last updated:** [July 1, 2025, 6:03pm UTC](https://forum.heroiclabs.com/t/first-presence-in-matchmaker-made-match/6294 "2025-07-01T18:03:52Z")

</div>

Hello, I am currently developing a small game using Godot 4.2.1 Stable and Nakama 3.3.1. The issue I am facing is that when 2 players join a match after the matchmaker matched them together, the first one to join is not…

---

## [How to create Authoritative Match in Godot](https://forum.heroiclabs.com/t/how-to-create-authoritative-match-in-godot/6290)

<div class="topic-metadata">

**Author:** [@wantg](https://forum.heroiclabs.com/u/wantg)\
**Replies:** 2\
**Last updated:** [June 27, 2025, 12:09pm UTC](https://forum.heroiclabs.com/t/how-to-create-authoritative-match-in-godot/6290 "2025-06-27T12:09:17Z")

</div>

Hello everyone. I want to use authoritative multiplayer mode in my game to get the player’s data to be verified by the server. Is the game room created by the server or client ? I’m use godot plugin, can create author…

---

## [Authentication or SignIn with Google new PlayGamesServices 0.11.01](https://forum.heroiclabs.com/t/authentication-or-signin-with-google-new-playgamesservices-0-11-01/3303)

<div class="topic-metadata">

**Author:** [@oscargoldman](https://forum.heroiclabs.com/u/oscargoldman)\
**Replies:** 11\
**Last updated:** [June 27, 2025, 9:06am UTC](https://forum.heroiclabs.com/t/authentication-or-signin-with-google-new-playgamesservices-0-11-01/3303 "2025-06-27T09:06:02Z")

</div>

We’re looking for advice or comments related to Unity and the newest version of Google Play Games 0.11.01. It seems the latest Play Games services sdk no longer exposes the player id token, which Nakama needs to authenti…

---

## [matchKick client side handling](https://forum.heroiclabs.com/t/matchkick-client-side-handling/2928)

<div class="topic-metadata">

**Author:** [@kutsme](https://forum.heroiclabs.com/u/kutsme)\
**Replies:** 10\
**Last updated:** [June 23, 2025, 7:04pm UTC](https://forum.heroiclabs.com/t/matchkick-client-side-handling/2928 "2025-06-23T19:04:23Z")

</div>

Client: nakama-js Server: Nakama Typescript Hi. How I can handle user kick from client side? I do not get any events after call dispatcher.matchKick(\[user\]) from server side

---

## [Refresh token function issue](https://forum.heroiclabs.com/t/refresh-token-function-issue/6272)

<div class="topic-metadata">

**Author:** [@Albertcleetus](https://forum.heroiclabs.com/u/Albertcleetus)\
**Replies:** 3\
**Last updated:** [June 18, 2025, 2:22am UTC](https://forum.heroiclabs.com/t/refresh-token-function-issue/6272 "2025-06-18T02:22:27Z")

</div>

I can’t find this issue, please help - This is the function for Refresh session as per documentation and this i will be implementing in Ue5 C++

---

## [Gamelift Dedicated Server](https://forum.heroiclabs.com/t/gamelift-dedicated-server/4288)

<div class="topic-metadata">

**Author:** [@Albertcleetus](https://forum.heroiclabs.com/u/Albertcleetus)\
**Replies:** 6\
**Last updated:** [May 28, 2025, 10:04am UTC](https://forum.heroiclabs.com/t/gamelift-dedicated-server/4288 "2025-05-28T10:04:43Z")

</div>

is there any extra steps for deploying a UE4 dedicated Linux server - on gamelift that uses nakama ? or would it be just as a project without nakama

---

## [Matchmaking Does Not Work when I Define A Query Parameter (Flutter Code)](https://forum.heroiclabs.com/t/matchmaking-does-not-work-when-i-define-a-query-parameter-flutter-code/6165)

<div class="topic-metadata">

**Author:** [@Sakhile\_Mamba](https://forum.heroiclabs.com/u/Sakhile_Mamba)\
**Replies:** 2\
**Last updated:** [May 3, 2025, 7:04pm UTC](https://forum.heroiclabs.com/t/matchmaking-does-not-work-when-i-define-a-query-parameter-flutter-code/6165 "2025-05-03T19:04:51Z")

</div>

Please note that the Flutter code below does not match players: final ticket = await socket.addMatchmaker( minCount: 2, maxCount: 2, query: "+betAmount:$betAmount", // Filter by bet amount …

---

## [Getting error "Could not authenticate Google Profile" while using Android + Godot 4.3](https://forum.heroiclabs.com/t/getting-error-could-not-authenticate-google-profile-while-using-android-godot-4-3/6173)

<div class="topic-metadata">

**Author:** [@utkarshtrivedimdz](https://forum.heroiclabs.com/u/utkarshtrivedimdz)\
**Replies:** 1\
**Last updated:** [April 28, 2025, 9:48am UTC](https://forum.heroiclabs.com/t/getting-error-could-not-authenticate-google-profile-while-using-android-godot-4-3/6173 "2025-04-28T09:48:29Z")

</div>

I’m trying to implement Google Sign-in with Nakama on Android using Godot 4.3, but I keep getting the error “Could not authenticate Google Profile”. The server logs show an issue with missing redirect URL in the Google c…

---

## [\[solved\] Matchmaker: player won't get matched when using "query" string even though they are the same](https://forum.heroiclabs.com/t/solved-matchmaker-player-wont-get-matched-when-using-query-string-even-though-they-are-the-same/6059)

<div class="topic-metadata">

**Author:** [@pegasusearl](https://forum.heroiclabs.com/u/pegasusearl)\
**Replies:** 3\
**Last updated:** [April 22, 2025, 4:00pm UTC](https://forum.heroiclabs.com/t/solved-matchmaker-player-wont-get-matched-when-using-query-string-even-though-they-are-the-same/6059 "2025-04-22T16:00:48Z")

</div>

{Details} Versions: Nakama {3.22.0}, {Docker}, client library I downloaded from Godot Asset Library, it says 3.22, however I am not 100% sure it’s the same one I downloaded last week as it’s not written anywhere. But …

[Next page](https://forum.heroiclabs.com/c/client-library/19.md?page=1)
