LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
Metadata

Detailed Description

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.

Typedef Documentation

◆ FLootLockerGetMetadataResponseDelegate

typedef void(* FLootLockerGetMetadataResponseDelegate) (FLootLockerGetMetadataResponse)

C++ response delegate for getting a single metadata entry.

◆ FLootLockerGetMultisourceMetadataResponseDelegate

typedef void(* FLootLockerGetMultisourceMetadataResponseDelegate) (FLootLockerGetMultisourceMetadataResponse)

Blueprint response delegate for getting multi source metadata.

◆ FLootLockerListMetadataResponseDelegate

typedef void(* FLootLockerListMetadataResponseDelegate) (FLootLockerListMetadataResponse)

C++ response delegate for listing metadata.

◆ FLootLockerSetMetadataResponseDelegate

typedef void(* FLootLockerSetMetadataResponseDelegate) (FLootLockerSetMetadataResponse)

Blueprint response delegate for setting metadata.

Enumeration Type Documentation

◆ ELootLockerMetadataActions

enum class ELootLockerMetadataActions : uint8
strong

Possible metadata actions.

Enumerator
Create 
Update 
Delete 
Create_or_Update 
Upsert 

◆ ELootLockerMetadataParserOutputTypes

enum class ELootLockerMetadataParserOutputTypes : uint8
strong

Possible metadata parser output types.

Enumerator
OnString 
OnInteger 
OnFloat 
OnNumber 
OnBool 
OnJson 
OnBase64 
OnError 

◆ ELootLockerMetadataSources

enum class ELootLockerMetadataSources : uint8
strong

Possible metadata sources.

Enumerator
reward 
leaderboard 
catalog_item 
progression 
currency 
player 
self 
asset 
item 

◆ ELootLockerMetadataTypes

enum class ELootLockerMetadataTypes : uint8
strong

Possible metadata types.

Enumerator
String 
Number 
Bool 
Json 
Base64 

Function Documentation

◆ GetMetadata()

static FString ULootLockerSDKManager::GetMetadata ( const ELootLockerMetadataSources  Source,
const FString &  SourceID,
const FString &  Key,
const FLootLockerGetMetadataResponseDelegate OnComplete,
const bool  IgnoreFiles = false,
const FString &  ForPlayerWithUlid = "" 
)
static

Get metadata by key.

Parameters
SourceMetadata source type
SourceIDSource id
KeyMetadata key
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents
ForPlayerWithUlidOptional: 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()

static FString ULootLockerSDKManager::GetMultisourceMetadata ( const TArray< FLootLockerMetadataSourceAndKeys > &  SourcesAndKeysToGet,
const FLootLockerGetMultisourceMetadataResponseDelegate OnComplete,
const bool  IgnoreFiles = false,
const FString &  ForPlayerWithUlid = "" 
)
static

Get metadata for multiple sources/keys.

Parameters
SourcesAndKeysToGetSources and their keys
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents
ForPlayerWithUlidOptional: 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]

static FString ULootLockerSDKManager::ListMetadata ( const ELootLockerMetadataSources  Source,
const FString &  SourceID,
const FLootLockerListMetadataResponseDelegate OnComplete,
const bool  IgnoreFiles = false,
const FString &  ForPlayerWithUlid = "" 
)
static

List metadata (default pagination) for a source.

Parameters
SourceMetadata source type
SourceIDSource id (use "self" when Source is self)
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents (empty payload with content_type application/x-redacted)
ForPlayerWithUlidOptional: 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]

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 = "" 
)
static

List metadata (paginated) for a source.

Parameters
SourceMetadata source type
SourceIDSource id (use "self" when Source is self)
PagePage index
PerPageItems per page
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents
ForPlayerWithUlidOptional: 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]

static FString ULootLockerSDKManager::ListMetadataWithTags ( const ELootLockerMetadataSources  Source,
const FString &  SourceID,
const TArray< FString > &  Tags,
const FLootLockerListMetadataResponseDelegate OnComplete,
const bool  IgnoreFiles = false,
const FString &  ForPlayerWithUlid = "" 
)
static

List metadata with tags (default pagination).

All specified tags must match.

Parameters
SourceMetadata source type
SourceIDSource id
TagsTags required (must all be present)
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents
ForPlayerWithUlidOptional: 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
SourceMetadata source type
SourceIDSource id
TagsTags required
PagePage index
PerPageItems per page
OnCompleteDelegate for handling the server response
IgnoreFilesOptional: Redact file contents
ForPlayerWithUlidOptional: 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
KeyThe key you want for this entry
TagsThe tags you want for this entry
AccessThe access level you want to set for this entry
ValueThe 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()

static FString ULootLockerSDKManager::SetMetadata ( const ELootLockerMetadataSources  Source,
const FString &  SourceID,
const TArray< FLootLockerSetMetadataAction > &  MetadataToActionsToPerform,
const FLootLockerSetMetadataResponseDelegate OnComplete,
const FString &  ForPlayerWithUlid = "" 
)
static

Set metadata for a source.

Some operations may fail independently; inspect errors array.

Parameters
SourceMetadata source type
SourceIDSource id
MetadataToActionsToPerformMetadata actions to perform
OnCompleteDelegate for handling the server response
ForPlayerWithUlidOptional: 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()

template<typename T >
static bool ULootLockerSDKManager::TryGetMetadataValueAsUStruct ( const FLootLockerMetadataEntry Entry,
T &  Output 
)
inlinestatic

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
EntryThe entry for which you want to get the UStruct value.
OutputThe 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

Typedefs

typedef void(* FLootLockerListMetadataResponseDelegate) (FLootLockerListMetadataResponse)
 C++ response delegate for listing metadata.
 
typedef void(* FLootLockerGetMetadataResponseDelegate) (FLootLockerGetMetadataResponse)
 C++ response delegate for getting a single metadata entry.
 
typedef void(* FLootLockerGetMultisourceMetadataResponseDelegate) (FLootLockerGetMultisourceMetadataResponse)
 Blueprint response delegate for getting multi source metadata.
 
typedef void(* FLootLockerSetMetadataResponseDelegate) (FLootLockerSetMetadataResponse)
 Blueprint response delegate for setting metadata.
 

Enumerations

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...
 

Functions

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.