EOSCore 1.8.7

General

  • Updated EOS SDK to 1.12.0

ECOM

  • EcomCatalogItemId data type changed to FString
  • Added a == identitcal utlity function for EcomCatalogItemId

Sessions

  • Added “Update EOS Session” async function to update your current game sessions settings

EOS SDK 1.12.0

New Features:

  • Anti-Cheat (Preview Service): The initial release of Easy Anti-Cheat as part of Epic Online Services gives you tools to address cheating in online multiplayer games. See documentation for details.

Achievements

  • Bug Fix: Fixed notification not showing in Achievements sample when unlocking hidden achievements.

Authentication

  • Changed logging level from Warning to Verbose when EOS_Auth_Login is used with EOS_LCT_PersistentAuth and no existing local credentials are reported.
  • Bug Fix: Fixed consent required flow on desktop with EOS_Auth_Login for External Auth by launching the Account Portal to allow consent to be given.
  • Bug Fix: The SDK will now internally handle EOS_Auth_ScopeConsentRequired by returning from EOS_Auth_Login EOS_Auth_PinGrantCode with the PinGrantInfo set on the EOS_Auth_LoginCallbackInfo struct. The application is responsible for displaying the URL/Code in that callback while the SDK polls for a successful result.

C# SDK

  • New: Added dynamic bindings to the wrapper. See C# documentation for usage and more information.
  • Helper.IsOperationComplete removed in favor of Common.IsOperationComplete. Helper.ToHexString removed in favor of Common.ToString.
  • ToString functions have been simplified where possible. ContinuanceToken, EpicAccountId, and ProductUserId now have parameterless ToString overrides.

Connect

  • New: Added itch.io as a supported user authentication provider.

Core

  • Added more wording for clarity about how the different account IsValid and FromString functions should be used.
JSON
  • Bug Fix: Fixed some rare cases where certain characters would not be properly escaped for JSON.

ECommerce

  • Each of the EOS_Ecom APIs will now return EOS_MissingPermissions instead of EOS_UnexpectedError when the game client doesn’t have permission to access the provided override sandbox.
  • EOS_Ecom_CatalogOffer has been updated to support 64-bit prices. Extended the Ecom price types to be 64-bit by deprecating the original 32-bit values in the struct.

Lobbies

  • Added some error checking to Lobby Interface functions EOS_LobbySearch_SetParameter and EOS_LobbySearch_Find
    • It not possible to call EOS_LobbySearch_SetParameterEOS_LobbySearch_SetLobbyId, or EOS_LobbySearch_SetTargetUserId if searching is in progress
    • It is not possible to call EOS_LobbySearch_Find if the search has parameters and a LobbyId or TargetUserId is already set
  • Lobbies now allow configuring host migration on lobby creation.
    • Defaults to enabled as before
    • If disabled, the lobby will collapse when the host leaves the lobby
    • EOS_Lobby_PromoteMember still works regardless, but the lobby will still collapse whenever the host leaves without first promoting another member
  • Bug Fix: Fixed improper calculation when EOS_LobbySearch_Find completes. In some instances the current player count in the search result was incorrect. This value is still only as accurate as of the time of the find call.
  • Bug Fix: Lobby interface makes sure to remove stale invites when EOS_Lobby_QueryInvites is called. Previously invites were only ever added, causing invites to linger. Invites can still be stale on the receiving client, and the application must handle “session not found” errors.

P2P

  • Added support for multiple callbacks on the same SocketId in EOS_P2P_AddNotifyPeerConnectionRequest and EOS_P2P_AddNotifyPeerConnectionClosed.
  • Improved P2P logging for many error cases.

Reports

  • New: Added a new Context member for EOS_Reports_SendPlayerBehaviorReportOptions, where developer defined data relevant to the report may be passed.

Session Based Matchmaking

  • Added some error checking to Session Interface functions EOS_SessionSearch_SetParameter and EOS_SessionSearch_Find
    • It not possible to call EOS_SessionSearch_SetParameterEOS_SessionSearch_SetSessionId, or EOS_SessionSearch_SetTargetUserId if searching is in progress
    • It is not possible to call EOS_SessionSearch_Find if the search has parameters and a SessionId or TargetUserId is already set
  • Bug Fix: Session interface makes sure to remove stale invites when EOS_Sessions_QueryInvites is called. Previously invites were only ever added, causing invites to linger. Invites can still be stale on the receiving client, and the application must handle “session not found” errors.

Social Overlay

  • Bug Fix: Fixed a bug when EOS_UI_ShowFriends is called immediately after login which could lead to two instances of the Social Overlay being created, neither with complete information.
  • Bug Fix: The Join button will now disable dynamically in expected ways. These new disable states are:
    • When the lobby/session is full.
    • When the session which is in progress while the “Join In Progress” flag is false.
    • When the lobby/session has permissions are set to Invite Only.
    • When the lobby’s invites are disabled.
  • Bug Fix: Fixed a bug which could lead to the Social Overlay at startup displaying notifications of previously unlocked achievements.

Mobile

Android
  • Add Android 11 (API level 30) support: Manifest has <queries> entry for weblogin
iOS
  • Bug Fix: Fixed an issue in iOS 11 that was not parsing the auth code properly and failing to login
  • Bug Fix: Fix broken iOS 11 support: weak link against iOS 12+ frameworks

PROGRAMMING UPGRADE NOTES

ECommerce

  • For EOS_Ecom_CatalogOffer the members OriginalPrice _and _CurrentPrice _were deprecated by changing their names to _OriginalPrice_DEPRECATED _and _CurrentPrice_DEPRECATED. They were replaced with OriginalPrice64 _and _CurrentPrice64.
Android

Reports

  • For EOS_Reports_SendPlayerBehaviorReportOptions, the member ReportCategory was renamed to Category and the member ReportDescription was renamed to Message.