From f54c7a6128acae48c9dec25ed2b6f0b8f309e55b Mon Sep 17 00:00:00 2001 From: Erik Bylund Date: Tue, 24 Feb 2026 10:56:08 +0100 Subject: [PATCH 1/3] ci: Update devenv setup --- .github/workflows/run-tests-and-package.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/run-tests-and-package.yml b/.github/workflows/run-tests-and-package.yml index 67c90978..349eb824 100644 --- a/.github/workflows/run-tests-and-package.yml +++ b/.github/workflows/run-tests-and-package.yml @@ -392,7 +392,6 @@ jobs: cd devenv mage env:setup dev false false mage env:up dev - mage deps:install dev - name: Setup Go to use access token for private repos if: ${{ VARS.LL_USE_LOCAL_BACKEND == 'true' }} env: @@ -529,7 +528,7 @@ jobs: if: always() run: | cd devenv - mage env:downsilent dev + mage env:down dev - name: Upload logs uses: actions/upload-artifact@v4 if: always() From cbe8ee5eb6a490077fc00b02913346b3648b00b9 Mon Sep 17 00:00:00 2001 From: Erik Bylund Date: Tue, 24 Feb 2026 10:56:29 +0100 Subject: [PATCH 2/3] Bump version to 7.1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16766ed8..a8992684 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.lootlocker.lootlockersdk", - "version": "7.1.0", + "version": "7.1.1", "displayName": "LootLocker", "description": "LootLocker is a game backend-as-a-service with plug and play tools to upgrade your game and give your players the best experience possible. Designed for teams of all shapes and sizes, on mobile, PC and console. From solo developers, indie teams, AAA studios, and publishers. Built with cross-platform in mind.\n\n▪ Manage your game\nSave time and upgrade your game with leaderboards, progression, and more. Completely off-the-shelf features, built to work with any game and platform.\n\n▪ Manage your content\nTake charge of your game's content on all platforms, in one place. Sort, edit and manage everything, from cosmetics to currencies, UGC to DLC. Without breaking a sweat.\n\n▪ Manage your players\nStore your players' data together in one place. Access their profile and friends list cross-platform. Manage reports, messages, refunds and gifts to keep them hooked.\n", "unity": "2019.2", From dbfbff09d1a59b7fbd744983942949a2ecc11164 Mon Sep 17 00:00:00 2001 From: Erik Bylund Date: Thu, 5 Mar 2026 11:02:26 +0100 Subject: [PATCH 3/3] fix: Add context id as filter to asset listing endpoint --- Runtime/Game/LootLockerSDKManager.cs | 15 +++++++++------ Runtime/Game/Requests/AssetRequest.cs | 10 ++++++++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Runtime/Game/LootLockerSDKManager.cs b/Runtime/Game/LootLockerSDKManager.cs index d4e7fe50..80ef20d5 100644 --- a/Runtime/Game/LootLockerSDKManager.cs +++ b/Runtime/Game/LootLockerSDKManager.cs @@ -5312,14 +5312,15 @@ public static void GetContext(Action onComplete, stri /// A Dictionary of custom filters to use when retrieving assets /// Only get assets created by a specific player /// Optional : Execute the request for the specified player. If not supplied, the default player will be used. - public static void GetAssetsOriginal(int assetCount, Action onComplete, int? idOfLastAsset = null, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null) + /// Only get assets for a specific context + public static void GetAssetsOriginal(int assetCount, Action onComplete, int? idOfLastAsset = null, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null, int contextID = 0) { if (!CheckInitialized(false, forPlayerWithUlid)) { onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError(forPlayerWithUlid)); return; } - LootLockerAPIManager.GetAssetsOriginal(forPlayerWithUlid, onComplete, assetCount, idOfLastAsset, filter, includeUGC, assetFilters, UGCCreatorPlayerID); + LootLockerAPIManager.GetAssetsOriginal(forPlayerWithUlid, onComplete, assetCount, idOfLastAsset, filter, includeUGC, assetFilters, UGCCreatorPlayerID, contextID); } /// @@ -5332,7 +5333,8 @@ public static void GetAssetsOriginal(int assetCount, ActionA Dictionary of custom filters to use when retrieving assets /// Only get assets created by a specific player /// Optional : Execute the request for the specified player. If not supplied, the default player will be used. - public static void GetAssetListWithCount(int assetCount, Action onComplete, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null) + /// Only get assets for a specific context + public static void GetAssetListWithCount(int assetCount, Action onComplete, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null, int contextID = 0) { if (!CheckInitialized(false, forPlayerWithUlid)) { @@ -5348,7 +5350,7 @@ public static void GetAssetListWithCount(int assetCount, Action @@ -5361,7 +5363,8 @@ public static void GetAssetListWithCount(int assetCount, ActionA Dictionary of custom filters to use when retrieving assets /// Only get assets created by a specific player /// Optional : Execute the request for the specified player. If not supplied, the default player will be used. - public static void GetAssetNextList(int assetCount, Action onComplete, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null) + /// Only get assets for a specific context + public static void GetAssetNextList(int assetCount, Action onComplete, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, int UGCCreatorPlayerID = 0, string forPlayerWithUlid = null, int contextID = 0) { if (!CheckInitialized(false, forPlayerWithUlid)) { @@ -5377,7 +5380,7 @@ public static void GetAssetNextList(int assetCount, Action diff --git a/Runtime/Game/Requests/AssetRequest.cs b/Runtime/Game/Requests/AssetRequest.cs index b431d291..07703a27 100644 --- a/Runtime/Game/Requests/AssetRequest.cs +++ b/Runtime/Game/Requests/AssetRequest.cs @@ -399,7 +399,7 @@ public static void GetContext(string forPlayerWithUlid, Action onComplete, int assetCount, int? idOfLastAsset = null, List filter = null, bool includeUGC = false, Dictionary assetFilters = null, - int UGCCreatorPlayerID = 0) + int UGCCreatorPlayerID = 0, int contextId = 0) { EndPointClass endPoint = LootLockerEndPoints.gettingAssetListWithCount; string getVariable = endPoint.WithPathParameter(assetCount); @@ -435,7 +435,7 @@ public static void GetAssetsOriginal(string forPlayerWithUlid, Action 0) { KeyValuePair keys = assetFilters.First(); filterString = $"{keys.Key}={keys.Value}"; @@ -451,6 +451,12 @@ public static void GetAssetsOriginal(string forPlayerWithUlid, Action 0) + { + tempEndpoint = $"&context_id={contextId}"; + getVariable += tempEndpoint; + } + LootLockerServerRequest.CallAPI(forPlayerWithUlid, getVariable, endPoint.httpMethod, null, onComplete: (serverResponse) => { LootLockerResponse.Deserialize(onComplete, serverResponse); }); }