Features
โข ๐ฎ Xbox Store IAP โ GetXboxServiceTicket(), RedeemXboxStorePurchaseForPlayer(), and RedeemXboxStorePurchaseForClass() support the Xbox Store purchase flow from the client.
โข ๐ฅ Multi-User Session Modes โ Three new session strategies via LootLockerMultiUserSessionMode:
- Hotseat โ Multiple simultaneous active sessions (default for existing projects migrating to this version).
- SingleSession โ One player at a time; starting a new session wipes the previous one.
- ProfileSwitching โ Deactivates the current player but keeps them in a cold cache for fast switching.
Pass the mode toLootLockerSDKManager.Init()or configure it in LootLocker Settings. Existing projects auto-migrate to Hotseat; new installs default to SingleSession.
โข ๐๏ธ New Prefabs โ We have added prefabs for Cloud Saves and for Universal Player Authentication. Feel free to use these in your projects to add LootLocker functionality in an even simpler way.
โข ๐ซ Player Ban Support โ LootLockerSDKManager.GetPlayerBanStatus() queries a player's ban reason, dates, and permanent flag. When a session start fails with error code player_banned, the ban details are now available on errorData.ban. CheckConnectionStatus() also returns a Banned state with ban information.
โข ๐ก Connection State Check โ LootLockerSDKManager.CheckConnectionStatus() pings the server and returns a LootLockerConnectionState:
NotInitialized โ NotSignedIn โ SavedButInactive โ SignedInAndConnected / Banned / SessionExpired / NoConnection / ServerError. Use this to diagnose session issues and show appropriate UI.
โข ๐ Catalog Items by ID โ LootLockerSDKManager.ListCatalogItemsById() looks up catalog entries by catalog_listing_id (up to 100 at once). Returns inlined entity details for assets, currencies, progression items, and groups with nested group associations and optional metadata filtering.
โข ๐ Upcoming Leaderboard Resets โ Leaderboard detail responses now include an upcoming_resets array with pending manual reset information (id, name, scheduled time).
โข ๐ Notification Asset Instance IDs โ LootLockerNotificationRewardAsset now has an Asset_instance_ids field listing the specific instance IDs granted for multi-quantity rewards.
โข ๐ Manual Session Start โ LootLockerSDKManager.StartSessionManual() lets you inject externally-sourced player state (from a server token exchange, for example) without making an authentication call.
โข ๐ฃ In-Editor Update Checker โ The SDK now checks GitHub Releases every 24 hours and shows a notification when a newer version is available. Manual check via Tools โ LootLocker Tools โ Check for Updates. Supports Skip, Remind Later, and Never Notify. Respects UPM registry-managed packages.
โข ๐ Credential Obfuscation โ 14 additional sensitive fields (steam_ticket, id_token, auth_code, bearer_token, purchase_token, etc.) are now redacted in log output.
โข โ๏ธ Editor Admin Extension Toggle โ New enableEditorAdminExtension config setting to disable the LootLocker admin tools in the editor for production setups.
Fixes
โข Broadcast localization keys โ Custom key-value pairs in broadcast localizations are no longer dropped during deserialization.
โข Editor branding โ All menu paths and window titles now use dynamic PackageName instead of hardcoded "LootLocker", supporting white-label SDK distributions.
Breaking Changes
โข LootLockerSDKManager.Init() signature โ The method now accepts an optional LootLockerMultiUserSessionMode parameter (defaults to NotSet, which preserves existing behavior). Most callers are unaffected.
โข LootLockerConfig.PackageName โ Changed from private static readonly to public const. If you were accessing this via reflection, update your code.
Deprecations
โข LootLockerGroupDetails.metadata โ Marked [Obsolete]. This field was never populated by the backend and will be removed in a future version.
Full Changelog: v8.0.0...v8.1.0