Releases: lootlocker/unity-sdk
Releases · lootlocker/unity-sdk
LootLocker_UnitySDKv5.2.0
Features
- LootLocker Extension revamp - The LootLocker extension has received a much needed overhaul and is now better than ever. Among other improvements, you can now use the extension directly to change the LootLocker settings. Find it in Window / LootLocker / Manage.
- LootLocker Log Viewer - Along with the updated management extension we introduce the LootLocker Log Viewer. This is a much improved experience in using LootLocker. You can continue using the output log as before. But the new Log Viewer adds nicely rendered and color coded logs with summaries for errors and even links to further reading where applicable. Find it in Window / LootLocker / Log Viewer.
- [Breaking Change] Remote Sessions no longer require the environment id and the title id as inputs. Instead, the SDK fetches these from the backend behind the scenes
- Game Info - We've added a method
GetGameInfo
where you can fetch data about the game as it is configured in LootLocker. - Certificate Handler override - You can now use the method
LootLockerSDKManager._OverrideLootLockerCertificateHandler
to override the default Unity certificate handler. This is to be able to fix tls issues - Default Loadout has been added to class types
Full Changelog: v5.1.0...v5.2.0
LootLocker_UnitySDKv5.1.0
Features
- Multiple user management methods - Methods to manage multiple users have been added to LootLockerSDKManager. Use for example
GetDefaultPlayerUlid
andSetDefaultPlayerUlid
to manage current default user andClearAllPlayerCaches
to clear all local state.
Bug Fixes
- A change to the api for remote sessions broke the feature. The SDK is now updated to use the new api contract.
Full Changelog: v5.0.0...v5.1.0
LootLocker_UnitySDKv5.0.0
Features
- Multi user support 👥 - This version of the SDK sees a major and central feature update in giving the SDK support for multiple users 🎉. This enables a few advanced use cases such as LootLocker supported local multiplayer and user selection/switching. Additionally this will help you build good flows for our account linking feature.
- Remotely Authenticated Connected Accounts 🔗 - We've updated our Connected Accounts feature to better support link flows in more complex scenarios. You can now use auth.game to link accounts to the player generically, without needing to use the dedicated
connect
methods. This will supercharge your players' ability to play across devices and platforms. - Currency Multipliers 🪙 - Wallets now support the new
modifiers
property, adding full support for the new currency multipliers feature to your game. - Custom notifications 📣 - The SDK now also supports reading and filtering for custom notifications: that is notifications defined by and sent by your game or game admins. Use this to notify your players of asynchronous rewards that happen in your server, to send out news, and much more.
- Response Context - All responses now contain a context structure containing data about the request. So far, this will contain the time that the request was sent as well as the ulid of the player it was "sent by".
- Refactored HTTP Stack - Four months ago we let the refactored web stack out into the wild as a beta feature. We are now confident in the capabilities of this new tech. Nothing should be changing for you as a user except a more stable and consistent platform. If you run into problems that you think are related to this change, then you can disable the new stack using the define
LOOTLOCKER_LEGACY_HTTP_STACK
. If you do, then please reach out to us with a report of the error.
Bug Fixes
- Steam store notifications can now be used in the notifications lookup functionalities.
- We now URL Encode all query and path parameters
- Various fixes to out in house json library
Full Changelog: v4.0.0...v5.0.0
LootLocker_UnitySDKv4.0.0
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 usingVerifyPlayerAndStartSteamSession
instead. - The method
GetPlayerInfo
is removed. UseGetCurrentPlayerInfo
instead. - The method
GetOtherPlayerInfo
is removed. UseListPlayerInfo
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
andGetXpAndLevel
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, useGetAssetInformation
with 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
andGetTriggeredEvents
have been removed.
- Methods
Continuous Integration
- Updated CI tests now run LootLocker Backend locally
Full Changelog: v3.8.0...v4.0.0
LootLocker_UnitySDKv3.8.0
Features
- Logging revamp:
- The old settings of
All
,AllAsNormal
,WarningsOnly
, andErrorsOnly
settings have been replaced with the more standardized log levels ofDebug
,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.
- The old settings of
- 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
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
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
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
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
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 theExecuteTrigger
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