This how-to fetches Assets from the backend to use in your game, including filtering, pagination, favouriting, and reading or writing Asset Instance Key/Value storage.
Prerequisites
- Unity, Unreal, or Godot SDK installed and configured in your project (not required for REST).
- An active Player session (see Authentication).
- At least one Asset created and activated in the Web Console (see Create & Configure an Asset).
Retrieve Assets
List Assets
Fetch a batch of Assets from the backend:
int count = 10;LootLockerSDKManager.GetAssetListWithCount(count, (response) =>{ if (response.success) { Debug.Log("Successfully retrieved " + response.assets.Length + " assets"); } else { Debug.Log("Error retrieving assets"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Get the Next Batch of Assets
After the initial call completes, call this method to retrieve more Assets. Keep calling it until you stop receiving Assets to retrieve all of them.
LootLockerSDKManager.GetAssetNextList(count, (response) =>{ if (response.success) { Debug.Log("Successfully retrieved second batch of " + response.assets.Length + " assets"); } else { Debug.Log("Error retrieving assets"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Reset Asset Pagination
After you finish retrieving the Assets you need, reset the pagination state — otherwise, the next retrieval might start from your previous last-retrieved Asset.
LootLockerSDKManager.ResetAssetCalls();Not applicable — Unreal doesn't require this call.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Retrieve Assets with a Filter
int count = 10;List<LootLocker.LootLockerEnums.AssetFilter> filter = new List<LootLocker.LootLockerEnums.AssetFilter>() { LootLocker.LootLockerEnums.AssetFilter.nonpurchasable };
LootLockerSDKManager.GetAssetListWithCount(count, (response) =>{ if (response.success) { Debug.Log("Successfully retrieved " + response.assets.Length + " assets");
} else { Debug.Log("Error retrieving assets"); }}, filter);See the Reference Documentation for the full response.

Specify the filter you want to retrieve Assets with through the same Blueprint used to retrieve Assets.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Retrieve Assets by IDs
If you already know the IDs of the Assets you want, retrieve them directly.
string[] list = new string[] { "8111" };
LootLockerSDKManager.GetAssetsById(list, (response) =>{ if (response.success) { Debug.Log("Successfully retrieved " + response.assets.Length + " assets"); Debug.Log("First Asset ID: " + response.assets[0].id);
} else { Debug.Log("Error retrieving assets"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Manage Favourite Assets
List Favourite Assets
LootLockerSDKManager.ListFavouriteAssets((response) =>{ if (response.success) { Debug.Log("Successfully retrieved " + response.favourites.Length + " assets");
if (response.favourites.Length > 0) { Debug.Log("First Asset ID: " + response.favourites[0]); } else { Debug.Log("No favourite assets"); } } else { Debug.Log("Error retrieving assets"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Add a Favourite Asset
LootLockerSDKManager.AddFavouriteAsset("8111", (response) =>{ if (response.success) { Debug.Log("Successfully favourited asset"); } else { Debug.Log("Error favouriting asset"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Remove a Favourite Asset
LootLockerSDKManager.RemoveFavouriteAsset("8111", (response) =>{ if (response.success) { Debug.Log("Successfully removed favourite asset"); } else { Debug.Log("Error removing favourite asset"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Manage Asset Instance Key/Value Storage
Get All Key/Value Pairs for an Asset Instance
LootLockerSDKManager.GetAllKeyValuePairsToAnInstance(45781352, (response) =>{ if (response.success) { if (response.storage.Length > 0) { Debug.Log("Successfully retrieved " + response.storage.Length + " key value pairs"); } else { Debug.Log("No key value pairs for asset instance"); } } else { Debug.Log("Error retrieving assets"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Get a Key/Value Pair by ID
int assetInstanceID = 84;int keyValueID = 1;LootLockerSDKManager.GetAKeyValuePairByIdForAssetInstances(assetInstanceID, keyValueID, (response) =>{ if (response.success) { Debug.Log("Successfully retrieved key value pair"); } else { Debug.Log("Error retrieving key value pair"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Create a Key/Value Pair
LootLockerSDKManager.CreateKeyValuePairForAssetInstances(45781352, "some-new-key", "value here", (response) =>{ if (response.success) { Debug.Log("Successfully created key value pair for asset instance"); } else { Debug.Log("Error creating key value pair"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Update One or More Key/Value Pairs
int assetInstanceID = 84;
Dictionary<string, string> multipleTestKeys = new Dictionary<string, string>();
multipleTestKeys.Add("some-new-key", "Some value");multipleTestKeys.Add("some-other-key", "Some other value");LootLockerSDKManager.UpdateOneOrMoreKeyValuePairForAssetInstances(assetInstanceID, multipleTestKeys, (response) =>{ if (response.success) { Debug.Log("Successfully updated key value pairs"); } else { Debug.Log("Error updating key value pairs"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Delete a Key/Value Pair
int assetInstanceID = 84;int keyValuePairID = 1;
LootLockerSDKManager.DeleteKeyValuePairForAssetInstances(assetInstanceID, keyValuePairID, (response) =>{ if (response.success) { Debug.Log("Successfully removed key value pair"); } else { Debug.Log("Error removing key value pair"); }});See the Reference Documentation for the full response.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Coming soon — this sample hasn't been written yet. In the meantime, refer to the Reference Documentation for this endpoint.
Conclusion
You've retrieved Assets in your game, including filtering, pagination, favouriting, and Asset Instance Key/Value storage. Next, see Check Grant Notifications to check for Assets granted to a Player from outside sources.









