Releases: lootlocker/unity-sdk
Releases Β· lootlocker/unity-sdk
LootLocker_UnitySDKv4.0.0
Features
- Player name lookup - We've added a method
LookupPlayerNamesByPlayerNameswhich lets you look up player data using a player's name. - Added other player progression lookup method
GetOtherPlayersProgressionsthat 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&VerifySteamIDare removed, you should be usingVerifyPlayerAndStartSteamSessioninstead. - The method
GetPlayerInfois removed. UseGetCurrentPlayerInfoinstead. - The method
GetOtherPlayerInfois removed. UseListPlayerInfoinstead. - The full legacy progression support is removed from the SDK and you should use the "new" progression system instead. This means that methods
SubmitXPandGetXpAndLevelhave 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. GetAssetInformationwith a string assetId has been removed because the signature of the method has changed, useGetAssetInformationwith an integer id instead.UpdateKeyValuePairByIdForAssetInstancessignature 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
TriggerEventandGetTriggeredEventshave 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, andErrorsOnlysettings 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
defaultparameter. 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_EXTENSIONhas 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
InvokeTriggersByKeymethod in place of theExecuteTriggermethod. 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
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
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
LootLockerGetPersistentStoragResponsetoLootLockerGetPersistentStorageResponse. Please use the newLootLockerGetPersistentStorageResponseclass from now on. - Renamed class
LootLockerGetPersistentStoragResponseDictionarytoLootLockerGetPersistentStorageResponseDictionary. Please use the newLootLockerGetPersistentStorageResponseDictionaryclass from now on.
Full Changelog: v3.0.0...v3.1.0
LootLocker_UnitySDKv3.0.0
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