Skip to content

LootLocker_UnrealSDK_V10.5.0

Latest

Choose a tag to compare

@kirre-bylund kirre-bylund released this 08 Jul 10:36

Features

โ€ข ๐ŸŽฎ Xbox Store IAP โ€” Full Xbox Store purchase flow from the client: GetXboxServiceTicket() retrieves a collection ID and purchase token, RedeemXboxStorePurchaseForPlayer() and RedeemXboxStorePurchaseForClass() redeem the purchase through LootLocker.

โ€ข ๐Ÿ‘ฅ Multi-User Session Modes โ€” Three new session management strategies via ELootLockerMultiUserSessionMode:

  • Hotseat โ€” Multiple players can hold active sessions simultaneously. The first authenticated player is the default. Ideal for local multiplayer / couch co-op.
  • SingleSession โ€” Starting a new session automatically ends the previous one. The default for new SDK installs.
  • ProfileSwitching โ€” The current player is deactivated but kept in a cold cache. Use SetPlayerUlidToActive to switch back without re-authenticating.
    Existing projects auto-migrate to Hotseat for backwards compatibility. See the multi-user guide for details.

โ€ข ๐Ÿšซ Player Ban Support โ€” GetPlayerBanStatus() lets you query whether a player is banned and why. Ban details (reason, dates, permanent flag) are also now included in FLootLockerErrorData.ban when a session start fails with the player_banned error code.

โ€ข ๐Ÿ“ก Connection State Check โ€” CheckConnectionStatus() pings the LootLocker server and returns a detailed ELootLockerConnectionState (8 states: SignedInAndConnected, SessionExpired, Banned, NoConnection, ServerError, etc.). Automatically queries ban status on 401/403 responses so you get a precise reason when something goes wrong.

โ€ข ๐Ÿ›’ Catalog Items by ID โ€” ListCatalogItemsById() looks up catalog entries directly by catalog_listing_id (up to 100 at a time). Returns inlined entity details (asset, currency, progression, group with nested associations) and optional metadata with key filtering.

โ€ข ๐Ÿ† Leaderboard Upcoming Resets โ€” FLootLockerLeaderboardUpcomingReset struct and Upcoming_resets array now exposed on leaderboard details, so you can surface pending manual resets in your UI.

โ€ข ๐Ÿ‘ค Character ULID โ€” FLootLockerListCharacterResponseItem now includes a ulid field.

โ€ข ๐ŸŽ Notification Asset Instance IDs โ€” FLootLockerNotificationRewardAsset now exposes Asset_instance_ids, listing the specific instance IDs granted for multi-quantity purchases.

โ€ข ๐Ÿ”ง File-Based Pre-Configuration โ€” Place a LootLockerPreConfig.bytes file in the plugin's Config directory to override ALL SDK settings without touching DefaultGame.ini. Supports plain JSON or AES-256-ECB encrypted content. Editor UI is locked when active, preventing drift. Ideal for CI/CD pipelines.

โ€ข ๐Ÿ“ฃ In-Editor Update Checker โ€” Tools โ†’ LootLocker Tools โ†’ Check for Updates queries GitHub Releases and shows a non-modal notification when a newer SDK is available. Options: Update Now, Skip This Version, Remind in 7 Days, Never Notify. Auto-checks on startup after 180s.

โ€ข ๐Ÿ”’ Credential Obfuscation โ€” 14 additional sensitive fields (steam_ticket, id_token, auth_code, bearer_token, etc.) are now redacted in log output, and all request/response bodies pass through ObfuscateJsonStringForLogging().

Fixes

โ€ข Fixed FindPlugin string literals โ€” wrapped in TEXT() macro for correct Unicode handling.
โ€ข Fixed test runner script โ€” proper process timeout handling prevents hung CI runs; commas in test filters now correctly translate to UE automation OR syntax.
โ€ข Fixed compile verification script โ€” path corrected from scripts/verify-compile.ps1 to .github\scripts\verify-compilation.ps1 with proper -Clean flag support.

Deprecations

โ€ข FLootLockerCatalogGroupMetadata โ€” Marked deprecated (was never used and will be removed).

Full Changelog: v10.4.0...v10.5.0