
2025 Overview
2025 was Talo's first full year running as an open source, self-hostable game backend! We've focussed on expanding the services we launched with to be more versatile and production-ready.
This year's highlights include 110+ updates (across our Godot plugin, Unity package, dashboard and platform) as well as hitting a huge milestone of over 100,000 players across 500+ games. We also launched Talo on the new Godot Asset Store and the Unity Asset Store (after transitioning away from our UPM package).
This blog post will be slightly different from last year's post: instead of going month-by-month we'll go feature-by-feature so that its easier to find updates that might be relevant to your game.
Channels updates
- Private channels (Godot, Unity): these are invite-only channels that will not be shown when fetching lists of available channels.
- Channel members (Godot, Unity): we introduced an API allowing you to list the players in specific channels. Throughout the year we made several improvements to this API, including adding filters for players, props and more.
- Temporary channel memberships (Godot, Unity): this feature allows you to create channels where players are removed from the channel at the end of their session (this is extremely useful for lobbies).
- Channel storage (Godot, Unity): this huge update introduced the concept of a shared data store between players. With channel storage, players can all add/update/remove data and Talo will keep everything in sync for all the channel members.
Events updates
- Events breakdown: this allows you to click into any event in the dashboard to break it down by its props. For example, if you have a "Potion Used" event which has a "type" prop (where the value can be 'HP' or 'MP'), you can now see how many events are sent with 'HP' vs. 'MP'.
- Event de-duping: Talo will now ensure that duplicate events aren't ingested if they are sent within a short time window.
Feedback updates
- Game feedback props (Godot, Unity): we made it easier to triage feedback within categories by adding props to feedback and letting you filter by props in the dashboard.
Leaderboards updates
- Refresh intervals (Godot, Unity): leaderboards can now be configured to refresh daily/weekly/monthly/yearly. Talo will automatically archive old entries but you can still fetch them by specifying the "include archived" option.
- Updating entry values: as well as hiding leaderboard entries, you can now also update their values in the dashboard.
- Leaderboard resets: you can now completely reset a leaderboard and remove its entries directly from the dashboard.
- Unique by props: previously, unique leaderboards worked by checking if the player already has an entry. By flipping on the "Unique by props" toggle, Talo will only mark entries as unique if their props are different. For example, this means you don't need to create a leaderboard for every level of your game, you can just send the level as a prop and a new unique entry will be created for each level.
Live config updates
- Real-time updates (Godot, Unity): following the introduction of the Talo socket, we made it so that you can subscribe to real-time live config updates. Whenever you make an update in the dashboard, your players will automatically receive that config change.
- Offline cache (Godot, Unity): if a player is offline, Talo will use the last-retrieved version of the live config.
- Bulk prop import: thanks to a great contribution, you can now directly paste JSON data into the live config page and Talo will automatically parse it.
Player management updates
- Player presence (Godot, Unity): we introduced this new service so that players can see when other players are online. Player presence also allows you to set custom statuses too.
- Player sessions: Talo now automatically tracks how long a player's session is and surfaces averages in the dashboard headlines.
- Player purge: you can now choose to purge players who haven't actively played your game for a specific amount of time. You can also enable more aggressive purges of dev players.
- Player deleting: player purges run on a monthly schedule but you can now also immediately delete a player directly from the dashboard.
- Offline player cache (Godot, Unity): if a player is offline when they identify, Talo will attempt to use their last-retrieved version of their data.
- Steamworks usernames + avatars: Talo now automatically pulls in Steam players' usernames and avatars as props so you can display them in-game.
Stats updates
- Updating player stats: you can now easily update a player's stat value directly from the dashboard.
- Stat history APIs (Godot, Unity): these new APIs allow you to see every incremental change to a stat. You can even see various global and player-level metrics in the API and in the "Metrics" section in the dashboard.
- Stat resetting: you can now completely reset a stat and its history inside the dashboard. This will revert global stats back to their default value.
- List player stats API (Godot, Unity): we added several ways to view the current values of stats for players and this API lets you see all of a player's stat values with just one API call.

Godot updates
- Saves across scenes demo: a new demo was added that shows how to save and load objects inside your game across different scenes. We also signficantly improved the saves documentation too.
- Connection lost/restored signals: we added new signals that let you respond to network connection updates. The Talo socket now also automatically reconnects once network connection is restored.
- Export plugin: this excellent contribution fixed the long-standing issue of needing to remember to export the Talo settings file.
- Dev data tags: there was plenty of confusion before about what counted as dev data and what didn't. You can now specify export tags that explicitly decide whether a build sends dev data.
Unity updates
- Now on the Asset Store: we transitioned away from our UPM package (more details here) to a more Asset-Store-friendly structure.
- Saves demo overhaul: we completely overhauled the existing saves demo to show more advanced use-cases. The demo now shows how to handle saves across multiple scenes. We also signficantly improved the saves documentation too.
- Connection lost/restored events: we added new events that let you respond to network connection updates. The Talo socket now also automatically reconnects once network connection is restored.
Self-hosting updates
- Registration mode: the
REGISTRATION_MODEenvironment variable allows you to configure whether your Talo instance is open, invite-only or completely closed to new registrations. - Caddy-based frontend image: we updated the
frontendDocker image to use caddy instead of nginx. - Email drivers: we removed Sendgrid and added the
logandrelayemail drivers allowing you to save emails to disk or via a relay server respectively. Thelogdriver also saves attachments locally. - Rate limit configuration: using the
API_RATE_LIMITandAPI_RATE_LIMIT_AUTHenvironment variables, you can control the rate limits on your Talo instance.
Looking ahead to 2025
Player relationships API
After a few different iterations and a lot of background work, the new Player Relationships API will be launching in January! This is the previously mentioned Player Broadcasts API (also previously known as Player Subscriptions) and the new name reflects the design goals of this API.
As with everything in Talo, this API is extremely high level and revolves around creating links between players so they can listen for updates between them. Relationships can be unidirectional or bidirectional and need to be confirmed by the receiving party before any communication can happen. Here's a small preview of the demo you'll find inside the Godot plugin:

As you can see, you'll be able to make subscription requests, view pending requests, cancel subscriptions and more! The system is designed to be generic so that you can choose whether to build follower-style systems or friend-style systems (or both).
Community updates
If you're not part of our Discord community, you can join our Discord server here. We've recently introduced a few changes like the quarterly community surveys and #feedback-and-requests channel, and next year it'll be even easier to ask for support and track the progress with the new #support forum-based channel.
Finally, thank you to all the contributors who have helped shape Talo this year!
Build your game faster with Talo
Don't reinvent the wheel. Integrate leaderboards, stats, event tracking and more in minutes.
Using Talo, you can view and manage your players directly from the dashboard. It's free!
Get started
More from the Talo Blog

Changelog: New stats API, connection events and leaderboard improvements
Get all player stats in one API call, handle network drops gracefully and make your leaderboards by props. Here's what we shipped in October for Godot and Unity.

Changelog: Leaderboard + stat resetting and player deletion tools
This month we've introduced new data management tools for resetting data and deleting players, plus batch channel storage fetching is now available.

Changelog: Player search, improved filtering and offline player cache
This month we've added new ways to search and filter for players based on specific criteria.

Changelog: Performance, feedback props and purge settings
We've significantly boosted Talo's performance and added a way to get extra context from player feedback.