Talo - Godot 4 plugin for player management, auth, leaderboards, stats + more

Hey everyone! I wanted to share the project I’ve been working on: a set of tools for building games faster and a dashboard to learn more about your players. In short, it’s an open source alternative to services like Playfab or Unity Game Services.

Talo has a Godot plugin that securely authenticates players, works online and offline, and requires minimal setup.

Here are some of the things you can do with Talo:

:busts_in_silhouette: Player management: Persist player data across sessions, create segments and handle authentication.

:zap: Event tracking: Track in-game player actions individually and globally.

:joystick: Leaderboards: Highly customisable leaderboards that can sync with Steamworks.

:floppy_disk: Game saves: A simple and flexible way to load/save game state; also works offline.

:bar_chart: Game stats: Track global or per-player stats across your game; also syncs with Steamworks.

:speech_balloon: Game channels: Send real-time messages between players subscribed to specific topics.

:gear: Live config: Update game settings from the web with zero downtime.

:wrench: Steamworks integration: Hook into Steamworks for authentication and ownership checks.

:speaking_head: Game feedback: Collect and manage feedback from your players.

:shield: Continuity: Keep your data in-sync even when your players are offline.

:bell: Player presence: See if players are online and set custom statuses.

Talo has been battle-tested across various game jams in many different types of games. Every API has been designed around being easy to understand and implement - check out the docs (https://docs.trytalo.com) for more info.

You can get the Talo Godot plugin on the Godot Asset Library, itch.io or GitHub.

Would love to hear any feedback on Talo - especially if there’s something missing that you would find valuable for your own game. We also have a Discord for support, roadmap discussions and to show off your game. Thanks!

5 Likes

We just released game channels! Game channels are a way of sending messages between players that are subscribed to a topic in real-time using sockets. You can use them for chat systems or even game state updates.

Channels can be created by players, joined and left. A channel’s owner can update channel information, transfer ownership and delete the channel.

They also have props which let you store extra custom data about your channel. For example, you could create a public channel for all players to join or a private channel where players need to reach a certain level before they can join.

There’s also a new demo showing off how to build a chat system with just one script.

You can get the latest version of Talo from the Godot Asset Library or GitHub.

Talo 0.18.0 has now been released with an update to live config! Previously, you would need to poll for live config updates but you can now get real-time config updates via the Talo Socket. Check out the live config docs here for more info.

Live config in the dashboard

Live config is Talo’s way of updating your game’s config from the web dashboard.

You can grab the latest release on GitHub or the Godot Asset Library.

Some highly requested features have been added to Talo in the last few days: editing player stat values and leaderboard scores.

To update a player’s stat value, you can visit their profile, choose a stat, and click the edit button:
Editing a player stat

For editing leaderboard scores, you can go via a player’s profile or the leaderboard’s entries page:
Editing a leaderboard score

We’ve also added a new “find player” API, allowing you to search by a player’s unique ID.

The new find player API lays the groundwork needed for the upcoming Presence API: a new way of seeing online/offline/custom status players. This opens up new features like friends lists, player parties and more.

You can grab the latest release (0.19.0) on GitHub or from the Godot Asset Library

:bell: Player presence is here!
Talo will now automatically track player online statuses. You can also provide custom statuses for players like “In a match” or “In a lobby”.

The dashboard will now display stats about your players - namely how many players you have and how many are online. You can also see if a player is online directly from the dashboard.

:dart: We’ve also added “refresh intervals” to our leaderboards, allowing you to easily create daily, weekly monthly and yearly leaderboards.

For the Godot plugin, there’s a new flag to fetch archived leaderboard entries (e.g. from the previous day with daily leaderboards), as well as much easier ways to listen for game channel messages.

The chat and leaderboards demos have been updated to reflect all the new functionality in this release.

As always the latest release is available on GitHub or the Godot Asset Library.

1 Like

General updates
It’s been a little while! Since last month there’s been quite a few updates and optimisations to the Talo Godot plugin including:

  • Extending RefCounted instead of Node for better memory management
  • Significantly improving typing by preferring to return internal classes with strictly defined properties
  • New signals for when game channels (our socket-based way of sending messages between players) are joined, left, deleted or their ownership is transferred
  • A new signal for when a Talo Socket error is received, allowing you to gracefully handle situations like rate limiting or invalid data being sent

Game stats updates
In addition to this, our game stats APIs have been significantly improved with the following additions:

  • You can now fetch available stats for your game via the stats API
  • Stats now have history and you can fetch this for an individual player or globally
  • Stat history can be filtered by start and end dates
  • Global stat history contains metrics about the global value like the minimum, maximum, average and median values during the filtered period

We’ve also written a short guide about how to track stats in your game using Talo which you can find here. The Godot game stat docs have been updated to include these new APIs.

Leaderboards overview
For anyone curious about Talo’s leaderboards we’ve also published a YouTube video with a quick overview of all the leaderboards features and demos: