Introducing Metadata: Cross-System Custom Data Storage

Product
Author image
Benjamin Cable4 min read
Cover image

At LootLocker, our ultimate goal is to provide a flexible game backend framework that supports nearly every use case. It’s an ambitious vision, especially considering the complex structures of modern games and the ever-evolving creativity of game & monetization designers. But we believe in a future where a platform like LootLocker can cover all the requirements of a game team, eliminating the need for additional services to fill the gaps between a game’s backend and its unique mechanics.

One of the key challenges our customers face is handling custom data storage across features like Economy, Progressions, Leaderboards, and more. For instance, a leaderboard may need to store specific information about the map it's associated with, or a catalog listing may want to include graphics related to the in-game store.

To address this challenge, we've developed a powerful new shared system: Metadata.

Here’s how it works.

Introducing Metadata

The next time you log in to the Web Console, you’ll notice a new Metadata option within features such as Progressions, Leaderboards, Currencies, and Catalogs. Clicking this will take you to a page where you can configure Metadata for that specific item. This Metadata is then accessible via both the Game API and Server API.

Metadata comes in several formats:

String: A sequence of characters, such as text labels or titles (e.g., a description for a leaderboard or item name in a catalog).

Base64: Used to store files that have been encoded in Base64 format, often used for icons, thumbnails or other binary files that need to be included with an asset.

Boolean: A true/false value, which could be used to toggle settings like whether a player has played the level for a leaderboard.

Number: A numeric value, which can represent anything from only checking progressions over a certain level to discount prices in a catalog.

JSON: A structured format used for storing complex data objects, such as metadata about a game level or a catalog listing that has stats associated with it.

Each item of Metadata can also be assigned a tag, providing additional ways to organize the data. Additionally, you can control the visibility of stored data, deciding whether it should be accessible through the Game API or restricted to the Server API.

Use Cases for Metadata

So why are we so excited about this feature? Metadata brings a new level of flexibility to our existing systems. Here are a few scenarios where it can be a game-changer:

Leaderboards

With a leaderboard, Metadata could store additional information like the map or game mode associated with the leaderboard. For example, if you have different leaderboards for each map in your game, Metadata can keep track of which leaderboard corresponds to which map, making it easier for the game to sort relevant information.

Progressions

Metadata in Progressions can be used to make it easier to update Progression content from the cloud. For instance, in a battle pass system, Metadata could be used to store icons or level-specific information that updates as the player progresses, such as experience thresholds or unlock requirements.

Catalogs

In a Catalog, Metadata can enhance the display of items. For example, you could use Metadata to store alternative item images, promotional tags, featured tags, or limited-time offers for certain items. This allows for a more dynamic in-game store experience, where visuals and pricing can be tailored for specific scenarios.

Currencies

Storing metadata on currencies allows for a streamlined way of showing information about your game's economy system. For instance, you can easily add icons for each currency or small descriptions on what they’re used for to be shown in your game. And with Metadata being accessible by id, once you have the image for your currency you will know exactly when you need to show it.

The Future of Metadata

This release of Metadata is just the beginning. We’re planning to expand it to even more LootLocker systems in the near future, with a focus on enhancing features like Asset Storage and Player Storage, which will greatly benefit from this functionality.


As always, make sure to update your Unity SDK and Unreal SDK to the latest versions to fully support Metadata. Be sure to check out our documentation for more details, and join the conversation on our Discord to share how you’re using Metadata in your game!

Stay up to date.

Join our newsletter and get these posts sent directly to your inbox.