Skip to content

Releases: lootlocker/unity-sdk

LootLocker_UnitySDKv4.0.0

02 Apr 12:39

Choose a tag to compare

Features

  • Player name lookup - We've added a method LookupPlayerNamesByPlayerNames which lets you look up player data using a player's name.
  • Added other player progression lookup method GetOtherPlayersProgressions that lets you look up the progressions for another player.
  • Add lookup key for Twitch Drops

Deprecations

  • This version of the SDK also sees a spring cleaning of previously deprecated methods:
    • Methods StartSteamSession, VerifySteamID & VerifySteamID are removed, you should be using VerifyPlayerAndStartSteamSession instead.
    • The method GetPlayerInfo is removed. Use GetCurrentPlayerInfo instead.
    • The method GetOtherPlayerInfo is removed. Use ListPlayerInfo instead.
    • The full legacy progression support is removed from the SDK and you should use the "new" progression system instead. This means that methods SubmitXP and GetXpAndLevel have been removed.
    • The methods for character actions have been removed (since interface was renamed from character to class). This affects methods CreateCharacter, ListCharacterTypes, ListPlayerCharacters, GetCharacterLoadout, GetOtherPlayersCharacterLoadout, UpdateCharacter, SetDefaultCharacter, EquipIdAssetToDefaultCharacter, EquipGlobalAssetToDefaultCharacter, EquipIdAssetToCharacter, EquipGlobalAssetToCharacter, UnEquipIdAssetToCharacter, UnEquipIdAssetToCharacter, GetCurrentLoadOutToDefaultCharacter, GetCurrentLoadOutToOtherCharacter, GetEquipableContextToDefaultCharacter.
    • GetAssetInformation with a string assetId has been removed because the signature of the method has changed, use GetAssetInformationwith an integer id instead.
    • UpdateKeyValuePairByIdForAssetInstances signature has changed. Use the one with 4 parameters instead: (int assetInstanceID, int keyValueID, string value, string key, Action<LootLockerAssetDefaultResponse> onComplete)
    • Likewise, support for the legacy purchase system has been removed and thereby the methods NormalPurchaseCall, RentalPurchaseCall, IosPurchaseVerification, AndroidPurchaseVerification, PollOrderStatus, BeginSteamPurchaseRedemption.
    • And finally, the support for the legacy trigger system has been dropped meaning methods TriggerEvent and GetTriggeredEvents have been removed.

Continuous Integration

  • Updated CI tests now run LootLocker Backend locally

Full Changelog: v3.8.0...v4.0.0

LootLocker_UnitySDKv3.8.0

24 Feb 09:56

Choose a tag to compare

Features

  • Logging revamp:
    • The old settings of All, AllAsNormal, WarningsOnly, and ErrorsOnly settings have been replaced with the more standardized log levels of Debug, Info, Warnings, Errors, Off.
    • There are now two more toggles you can use:
      • "Log Errors as Warnings" - This will reduce the loglevel of error logs to warning and log accordingly. Use this to not interrupt game flow since error logs can be handled as exceptions.
      • "Log in Builds" - This will cause LootLocker to log outside of the editor context. Use this when you want to debug LootLocker requests in your builds and on devices.
  • Debug Prefab: In the LootLocker SDK folder, there is a new folder called prefabs. Inside is a Debugging folder containing a unitypackage that you can install in your game. This contains a UI prefab that you can add to a level where you want to view LootLocker (or other) logs. This will print the configured logs to screen which will help you debug errors on devices where logs can be inaccessible.

Bug Fixes

  • Character and heroes api incorrectly handled the default parameter. This is now fixed.

Full Changelog: v3.7.0...v3.8.0

LootLocker_UnitySDKv3.7.0

16 Jan 19:10

Choose a tag to compare

Bug Fixes

  • The new Steam authentication methods no longer cause the "not initialized" problem.
  • Catalog groups in the convenience dictionary layout now properly parse the assets, progression points, progression resets, currencies, etc.

Beta

  • We're refactoring the HTTP Stack to make it more intelligent. This is so far in beta, but you can enable it by adding the scripting define symbol LOOTLOCKER_BETA_HTTP_QUEUE. If you do, please feedback to us any problems you find.

Full Changelog: v3.6.1...v3.7.0

LootLocker_UnitySDKv3.6.1

17 Dec 16:11

Choose a tag to compare

Features

  • There is now a method to get details about a specific currency without listing all currencies called GetCurrencyDetails.
  • All leaderboard methods that return leaderboard data now return the leaderboard ulid needed to work with f.ex. metadata.

Bug Fixes

  • UnEquipIdAssetToClass and UnequipIdAssetFromDefaultClass have been fixed and are now working as expected.

Deprecations

  • Not a full deprecation, just a note that the full player storage system will over time be replaced by Player Metadata so consider moving over to that system instead.

Full Changelog: v3.6.0...v3.6.1

LootLocker_UnitySDKv3.6.0

04 Dec 07:35

Choose a tag to compare

Features

  • Updated Steam Authentication - We have updated the way we start steam session to make it less error prone and to inline it to a single call for the developer.
  • Create UGC as completed - You can now set user generated content as completed when creating it, simplifying the flow.
  • New player info endpoints - We have introduced new endpoints where you can look up players using any of a few different identifiers.

Bug Fixes

  • Adress null reference exceptions in samples - We have updated the samples so that the scripts are not started until after the first frame to avoid UI resources not having been initialized.

Deprecations

  • SubmitXp and GetXpAndLevel have been deprecated in favor of the independent progressions system.
  • GetOtherPlayerInfo and GetPlayerInfo has been deprecated in favor of the new methods ListPlayerInfo and GetCurrentPlayerInfo respectively.
  • SteamSessionTicket, VerifySteamID and StartSteamSession have been deprecated. You should instead be using one of the VerifyPlayerAndStartSteamSession variants.

Full Changelog: v3.4.0...v3.6.0

LootLocker_UnitySDKv3.4.0

21 Nov 13:39

Choose a tag to compare

Features

  • Player Metadata (pre-release) - We’re excited to announce the pre-release of "Player Metadata" extending the versatile and powerful metadata feature to Players. More news will be inbound shortly :)
  • Max Equip Counts for Asset Contexts - Asset contexts now let you know their max equip count helping you out in dealing with player inventories.

Bug Fixes

  • When installing LootLocker, the warning of a missing .meta file for the Tests folder has been fixed.
  • Unity extension bug causing the "Could not find game" problem has been fixed.

Deprecations

  • Though not fully deprecated yet, the Player Metadata feature will be replacing "Player Storage". More news in the coming weeks.

Full Changelog: v3.3.0...v3.4.0

LootLocker_UnitySDKv3.3.0

29 Oct 13:03
086d336

Choose a tag to compare

Features

  • Triggers 2.0 πŸ•ΉοΈ - We’re excited to announce the re-release of one of LootLocker’s most versatile featuresβ€”Triggers! This feature has undergone a complete overhaul and is now fully integrated with the same cross-feature rewards system that powers all our latest features. Triggers let you create and manage in-game actions tied to specific rewards, opening up countless opportunities to engage your players. Read more here
  • Notifications πŸ’¬ - Notifications serve as a shared system that integrates seamlessly with multiple features, including Rewards, Leaderboards, Catalogs, Progressions, and Triggers. Acting as a central hub, Notifications track and communicate important player-related updates to the game, ensuring players stay informed about significant events and changes. Read more here
  • .com - The LootLocker api has transitioned to .com instead of .io in preparation for an eventual potential phase out of the TLD.
  • The version of the LootLocker SDK is now logged at start up time to help when reaching out to the team for support.
  • All session responses now contain the wallet_id of the player.
  • The define symbol LOOTLOCKER_DISABLE_EDITOR_EXTENSION has been added so that it is possible to disable the LootLocker editor extension.

Bug Fixes

  • The LootLocker editor extension no longer logs out on compiles and builds.

Deprecations

  • With the introduction of Triggers 2.0, the old triggers system is deprecated. Adressing this will require you to re-configure your triggers in the new triggers configuration. To do this, please refer to our documentation. Once you have done this, simply call the new InvokeTriggersByKey method in place of the ExecuteTrigger method. For a deeper understanding of using triggers in game, refer to our documentation.
  • Group leaderboard rewards no longer contain the metadata field as it's no longer returned from the backend.

Full Changelog: v3.2.0...v3.3.0

LootLocker_UnitySDKv3.2.0

09 Oct 12:17

Choose a tag to compare

Features

  • Metadata πŸŽ‰ - We're introducing the feature Metadata. Metadata brings a new level of flexibility to our existing systems allowing you to store custom information in several key places such as leaderboars, catalog items, and progressions. Read more in our blog post
  • This is mostly internal, but our continuous integration has received a much needed overhaul. See the Readme for details about how to run the tests.

Bug Fixes

  • Json serializer now serializes enums as strings instead of numbers
  • Leaderboard details now return ulids
  • The is_default field in classes and heroes is now correctly de-serialized.

Full Changelog: v3.1.0...v3.2.0

LootLocker_UnitySDKv3.1.0

12 Sep 12:35

Choose a tag to compare

Features

  • Feedback πŸŽ‰ - We're introducing the feature Feedback. With this feature you can easily add a feedback loop into your game. Be it to moderate UGC, get bug reports from players, or to let players report malicious behaviour, this new system supports it all. Read more in our blog post
  • Listing leaderboards - The SDK now has the ability to list the available leaderboards helping you if you have generated or seasonal leaderboards for example.
  • Virtual Currency Purchasing Sample - We've added a sample to the SDK that shows you how you can implement an in game store with virtual currencies.
  • Retry-After Header support - The SDK now supports the Retry-After header, so if a requst fails for a reason that is retryable and the LootLocker backend returns a Retry-After header, you can find that value in the response.

Bug Fixes

  • Silenced the rate limiter logs when entering playmode.
  • Fixed a bug in ZeroDepJSON that made generic objects that were members of a non generic object unparseable.
  • When updating keys in persistent player storage the SDK now correctly handles the returned "public" fields.

Deprecations

  • Renamed class LootLockerGetPersistentStoragResponse to LootLockerGetPersistentStorageResponse. Please use the new LootLockerGetPersistentStorageResponse class from now on.
  • Renamed class LootLockerGetPersistentStoragResponseDictionary to LootLockerGetPersistentStorageResponseDictionary. Please use the new LootLockerGetPersistentStorageResponseDictionary class from now on.

Full Changelog: v3.0.0...v3.1.0

LootLocker_UnitySDKv3.0.0

15 Aug 11:45

Choose a tag to compare

Features

  • Reward Groups - In leaderboards and catalogs you can now create groups of rewards. Read more here
  • Added a method for getting a single item from the entitlement history
  • The LootLocker SDK settings now help you in giving the correct domain key as there has been some confusion around domain key and domain url

Bug Fixes

  • Fixed a bug that caused crashes if the responses were for some reason not json

Deprecations

  • Due to the new feature of groupable rewards in catalogs, how you get information from the details dictionaries has changed. Before you would do for example
var entry = response.entries[0]; //Get the entry you're looking at
if(entry.entity_kind) {
  response.asset_details[entry.catalog_listing_id]
}

Now you will instead do

var entry = response.entries[0]; //Get the entry you're looking at
if(entry.entity_kind) {
  response.asset_details[entry.GetItemDetailsKey()];
}

Full Changelog: v2.2.0...v3.0.0