Skip to content

LootLocker_UnitySDKv8.1.1

Latest

Choose a tag to compare

@kirre-bylund kirre-bylund released this 06 Jul 11:10

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 to LootLockerSDKManager.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