Attach and retrieve typed key-value metadata on any LootLocker entity.
Metadata can be attached to Progressions, Leaderboards, Catalogs, Currencies, Assets, and more. Values are strongly typed: String, Boolean, Number, JSON, or Base64-encoded binary. Entries support optional Tags for filtering (e.g., seasonal, featured) and a Game Read flag that restricts visibility to the Server API only — useful for keeping sensitive data out of the game client.
See the LootLocker documentation.
◆ FLootLockerGetMetadataResponseDelegate
C++ response delegate for getting a single metadata entry.
◆ FLootLockerGetMultisourceMetadataResponseDelegate
Blueprint response delegate for getting multi source metadata.
◆ FLootLockerListMetadataResponseDelegate
C++ response delegate for listing metadata.
◆ FLootLockerSetMetadataResponseDelegate
Blueprint response delegate for setting metadata.
◆ ELootLockerMetadataActions
Possible metadata actions.
| Enumerator |
|---|
| Create | |
| Update | |
| Delete | |
| Create_or_Update | |
| Upsert | |
◆ ELootLockerMetadataParserOutputTypes
Possible metadata parser output types.
| Enumerator |
|---|
| OnString | |
| OnInteger | |
| OnFloat | |
| OnNumber | |
| OnBool | |
| OnJson | |
| OnBase64 | |
| OnError | |
◆ ELootLockerMetadataSources
Possible metadata sources.
| Enumerator |
|---|
| reward | |
| leaderboard | |
| catalog_item | |
| progression | |
| currency | |
| player | |
| self | |
| asset | |
| item | |
◆ ELootLockerMetadataTypes
Possible metadata types.
| Enumerator |
|---|
| String | |
| Number | |
| Bool | |
| Json | |
| Base64 | |
◆ GetMetadata()
Get metadata by key.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id |
| Key | Metadata key |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ GetMultisourceMetadata()
Get metadata for multiple sources/keys.
- Parameters
-
| SourcesAndKeysToGet | Sources and their keys |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ ListMetadata() [1/2]
List metadata (default pagination) for a source.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id (use "self" when Source is self) |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents (empty payload with content_type application/x-redacted) |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ ListMetadata() [2/2]
List metadata (paginated) for a source.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id (use "self" when Source is self) |
| Page | Page index |
| PerPage | Items per page |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ ListMetadataWithTags() [1/2]
List metadata with tags (default pagination).
All specified tags must match.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id |
| Tags | Tags required (must all be present) |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ ListMetadataWithTags() [2/2]
| static FString ULootLockerSDKManager::ListMetadataWithTags |
( |
const ELootLockerMetadataSources |
Source, |
|
|
const FString & |
SourceID, |
|
|
const TArray< FString > & |
Tags, |
|
|
const int |
Page, |
|
|
const int |
PerPage, |
|
|
const FLootLockerListMetadataResponseDelegate & |
OnComplete, |
|
|
const bool |
IgnoreFiles = false, |
|
|
const FString & |
ForPlayerWithUlid = "" |
|
) |
| |
|
static |
List metadata with tags (paginated).
All specified tags must match.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id |
| Tags | Tags required |
| Page | Page index |
| PerPage | Items per page |
| OnComplete | Delegate for handling the server response |
| IgnoreFiles | Optional: Redact file contents |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ MakeMetadataEntryWithUStructValue()
template<typename T >
| static FLootLockerMetadataEntry ULootLockerSDKManager::MakeMetadataEntryWithUStructValue |
( |
const FString & |
Key, |
|
|
const TArray< FString > & |
Tags, |
|
|
const TArray< FString > & |
Access, |
|
|
const T & |
Value |
|
) |
| |
|
inlinestatic |
Factory method that makes an FLootLockerMetadataEntry with a UStruct Value.
- Parameters
-
| Key | The key you want for this entry |
| Tags | The tags you want for this entry |
| Access | The access level you want to set for this entry |
| Value | The UStruct object that you to be converted to json and set as the value for this metadata entry |
- Returns
- The filled out metadata entry (or empty if it could not be constructed).
◆ SetMetadata()
Set metadata for a source.
Some operations may fail independently; inspect errors array.
- Parameters
-
| Source | Metadata source type |
| SourceID | Source id |
| MetadataToActionsToPerform | Metadata actions to perform |
| OnComplete | Delegate for handling the server response |
| ForPlayerWithUlid | Optional: Execute for the specified player ULID (default player if empty) |
- Returns
- A unique id for this request, use this to match callbacks to requests when you have multiple simultaneous requests outbound
◆ TryGetMetadataValueAsUStruct()
Get the value as a UStruct of your choice.
Returns true if value could be found in which case Output contains the parsed UStruct, returns false if the value field was not present or not parseable.
- Parameters
-
| Entry | The entry for which you want to get the UStruct value. |
| Output | The UStruct object that you want to be filled with data if the value was successfully parsed. |
- Returns
- True if the value could be parsed as the provided UStruct
|
| enum class | ELootLockerMetadataSources : uint8 {
ELootLockerMetadataSources::reward = 0
, ELootLockerMetadataSources::leaderboard = 1
, ELootLockerMetadataSources::catalog_item = 2
, ELootLockerMetadataSources::progression = 3
,
ELootLockerMetadataSources::currency = 4
, ELootLockerMetadataSources::player = 5
, ELootLockerMetadataSources::self = 6
, ELootLockerMetadataSources::asset = 7
,
ELootLockerMetadataSources::item = 8
} |
| | Possible metadata sources. More...
|
| |
| enum class | ELootLockerMetadataTypes : uint8 {
ELootLockerMetadataTypes::String = 0
, ELootLockerMetadataTypes::Number = 1
, ELootLockerMetadataTypes::Bool = 2
, ELootLockerMetadataTypes::Json = 3
,
ELootLockerMetadataTypes::Base64 = 4
} |
| | Possible metadata types. More...
|
| |
| enum class | ELootLockerMetadataActions : uint8 {
ELootLockerMetadataActions::Create = 0
, ELootLockerMetadataActions::Update = 1
, ELootLockerMetadataActions::Delete = 2
, ELootLockerMetadataActions::Create_or_Update = 3
,
ELootLockerMetadataActions::Upsert = 4
} |
| | Possible metadata actions. More...
|
| |
| enum class | ELootLockerMetadataParserOutputTypes : uint8 {
ELootLockerMetadataParserOutputTypes::OnString = 0
, ELootLockerMetadataParserOutputTypes::OnInteger = 1
, ELootLockerMetadataParserOutputTypes::OnFloat = 2
, ELootLockerMetadataParserOutputTypes::OnNumber = 3
,
ELootLockerMetadataParserOutputTypes::OnBool = 4
, ELootLockerMetadataParserOutputTypes::OnJson = 5
, ELootLockerMetadataParserOutputTypes::OnBase64 = 6
, ELootLockerMetadataParserOutputTypes::OnError = 7
} |
| | Possible metadata parser output types. More...
|
| |
|
| static FString | ULootLockerSDKManager::ListMetadata (const ELootLockerMetadataSources Source, const FString &SourceID, const FLootLockerListMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | List metadata (default pagination) for a source.
|
| |
| static FString | ULootLockerSDKManager::ListMetadata (const ELootLockerMetadataSources Source, const FString &SourceID, const int Page, const int PerPage, const FLootLockerListMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | List metadata (paginated) for a source.
|
| |
| static FString | ULootLockerSDKManager::ListMetadataWithTags (const ELootLockerMetadataSources Source, const FString &SourceID, const TArray< FString > &Tags, const FLootLockerListMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | List metadata with tags (default pagination).
|
| |
| static FString | ULootLockerSDKManager::ListMetadataWithTags (const ELootLockerMetadataSources Source, const FString &SourceID, const TArray< FString > &Tags, const int Page, const int PerPage, const FLootLockerListMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | List metadata with tags (paginated).
|
| |
| static FString | ULootLockerSDKManager::GetMetadata (const ELootLockerMetadataSources Source, const FString &SourceID, const FString &Key, const FLootLockerGetMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | Get metadata by key.
|
| |
| static FString | ULootLockerSDKManager::GetMultisourceMetadata (const TArray< FLootLockerMetadataSourceAndKeys > &SourcesAndKeysToGet, const FLootLockerGetMultisourceMetadataResponseDelegate &OnComplete, const bool IgnoreFiles=false, const FString &ForPlayerWithUlid="") |
| | Get metadata for multiple sources/keys.
|
| |
| static FString | ULootLockerSDKManager::SetMetadata (const ELootLockerMetadataSources Source, const FString &SourceID, const TArray< FLootLockerSetMetadataAction > &MetadataToActionsToPerform, const FLootLockerSetMetadataResponseDelegate &OnComplete, const FString &ForPlayerWithUlid="") |
| | Set metadata for a source.
|
| |
| template<typename T > |
| static bool | ULootLockerSDKManager::TryGetMetadataValueAsUStruct (const FLootLockerMetadataEntry &Entry, T &Output) |
| | Get the value as a UStruct of your choice.
|
| |
| template<typename T > |
| static FLootLockerMetadataEntry | ULootLockerSDKManager::MakeMetadataEntryWithUStructValue (const FString &Key, const TArray< FString > &Tags, const TArray< FString > &Access, const T &Value) |
| | Factory method that makes an FLootLockerMetadataEntry with a UStruct Value.
|
| |