GENERAL

  • Updated EOS SDK version to 1.15.2

Epic Online Services (EOS) SDK

Version 1.15.2

August 26, 2022

RELEASE NOTES

New features

Apple silicon support on Mac

  • New: The SDK now supports Apple silicon on Mac as a universal dylib.
    • Note: Anti-cheat currently does not support Apple silicon.

Updates: new, bug fixes, improvements, deprecations

Anti-cheat

  • New: In the configuration file anticheat_integritytool.cfg, you can now configure settings for your game client, such as the maximum number of active instances of your game allowed on a player’s machine.
  • Bug fix: We have resolved a crash in EOS_AntiCheatClient_RegisterPeer that occurred if you used SDK 1.15 without rebuilding your project with new headers.
  • Bug fix: The anti-cheat server no longer retries HTTP requests that failed due to EOS service downtime. In addition, the anti-cheat server no longer retries when the player has left the game session.
  • Bug fix: We fixed a bug in the anti-cheat integrity tool on Unix and macOS that was introduced with SDK 1.15: the tool outputted to the wrong location. The output is now correctly located in the EasyAntiCheat/Certificates folder, which is in line with the behavior of previous SDK versions.
  • Bug fix: Fixed an issue so the anti-cheat bootstrapper no longer tries to load a cached module if the anti-cheat service is disabled.
  • Bug fix: Fixed a crash on SDK initialization for some macOS Monterey systems.
  • Bug fix: Fixed an issue where the anti-cheat bootstrapper lagged on players’ machines running AMD Ryzen CPUs.
  • Bug fix: Fixed an issue where the anti-cheat bootstrapper failed to initialize if the player’s GPU does not support textures larger than 2048×2048.
  • Bug fix:: Fixed an issue where the anti-cheat bootstrapper’s user interface was hard to see if the splash screen is primarily white, or has white elements.
  • Bug fix:: Fixed a compatibility issue between the Anti-Cheat bootstrapper and the latest version of Arch Linux. This issue will also affect the Steam Deck when attempting to run games compiled for Windows using Proton.
    • To apply the fix, replace the old version of start_protected_game.exe with the new one packaged in this release and proceed to release an up-to-date Linux anti-cheat module for your game on the dev portal. No other changes are needed.
  • Improvement: The anti-cheat bootstrapper’s binary (executable file) is now inside a bundle. This executable bundle means:
    • We have added a default icon to the macOS executable bundle, so it now has the same icon on macOS as it does on Windows.
  • Improvement: The anti-cheat bootstrapper no longer caches its resources onto a player’s machine’s hard disk.
  • Improvement: On Windows, the anti-cheat bootstrapper now displays your game executable’s icon in the taskbar. If you add a custom icon in the ~/<game root>/ EasyAntiCheat directory, it overwrites the default icon.
  • Improvement: The anti-cheat integrity tool now has more usage samples. You can see them by running anticheat_integritytool.exe --help.

Authentication

  • New: If you disable the EOS overlay in your game or it is not installed, Auth Interface uses a system browser so players can sign in.
  • Bug Fix: Fixed an issue where, on a flakey network, the logout callback fired multiple times and returned success multiple times.

Connect

  • Bug fix:: Fixed EOS_Connect_Login failing to accommodate UTF-8 character lengths up to the 32 char limit.

EOS core

  • New: iOS and Android samples now use examples of the SDK 1.15 suspend/resume and network connect/disconnect APIs.
  • New: The EOS SDK now requires Steamworks API (EOS_IntegratedPlatform_Steam_Options). You must use the Steamworks API for Steamworks SDK version 1.48 or later. If you use Steamworks earlier than 1.48, Steam integration does not work.
  • Bug fix: EOS_Platform_Create now correctly detects pre-SDK 1.15 header files and treats the default EOS_ENetworkStatus to EOS_NS_Online on all console platforms.
    • Now: On all console platforms, the default network status is offline. This provides better management when you use EOS_Platform_SetNetworkStatus.
    • Previously: On console platforms, you should only call EOS_Platform_Create when the game was online. You needed to call EOS_Platform_Release first if the game was offline. SDK 1.15 did not maintain this if your game used pre SDK 1.15 header files. This fix resolves that.

P2P

  • New: Fixed a performance issue in EOS_P2P_SendPacket that was caused by thread-synchronization blocking in an internal library.
  • NewEOS_P2P_ReceivePacket no longer requires calls to EOS_Platform_Tick to receive new packets.
  • New: Added a new field to EOS_P2P_SendPacket. The new field, called DisableAutoAcceptConnection, allows automatic acceptance of connections in packet-sending logic.
    • If you use this option, your game must always use EOS_P2P_AcceptConnection to open connections.
    • If you use EOS_P2P_SendPacket, it now returns EOS_EResult::EOS_NoConnection when it fails under the following two cirumstances:
      • The remote peer has not accepted the connection.
      • The connection has closed since the last time the remote peer accepted it.
  • New: Added a function, called EOS_P2P_AddNotifyPeerConnectionInterrupted, which listens for non-fatal disconnects in the connection. If this function returns a disconnect, one of the following callbacks fire to let your game know the connection status:
    • EOS_P2P_OnPeerConnectionEstablishedCallback – the connection is re-established.
    • EOS_P2P_OnRemoteConnectionClosedCallback – the connection has failed to reconnect and is closed.

Ecom

  • New: Added ReleaseDate and EffectiveDate to EOS_Ecom_CatalogOffer.
  • New* Introduced two new APIs to the Ecom Interface:
    • EOS_Ecom_GetLastRedeemedEntitlementsCount to fetch the number of entitlements that were redeemed during the last EOS_Ecom_RedeemEntitlements call.
    • EOS_Ecom_CopyLastRedeemedEntitlementByIndex to fetch a redeemed entitlement ID from an index.
  • Bug fix: EOS_Ecom_RedeemEntitlements no longer returns Success when passed incorrect entitlement ID(s).
  • Deprecated: We deprecated the PurchasedCount field from EOS_ECom_CatalogOffer.
    • Note: Do not use the PurchasedCount field.
    • Now: The PurchasedCount field always has a value of 0.
    • Previously: In pre-SDK 1.15.2, the EOS service sends PurchasedCount with a value of 0 unless you have configured PurchaseLimit for the offer. We will not support this behavior indefinitely, so do not depend on this value.

Samples

  • New: In the sample projects, Steam login now uses Steam Auth Session Tickets instead of Steam Encryption Application Tickets for improved security.

Session-based matchmaking

  • Bug fix: Fixed EOS_Sessions_JoinSession so it no longer invokes CompletionDelegate multiple times, and no longer returns EOS_NotFound when the operation requires HTTP retries.

Platform-specific

macOS

  • Bug fix:: Fixed an issue where the Dev Auth Tool and anti-cheat bootstrapper did not open on macOS.

Console general

  • New: The EOS SDKs for consoles are now pinned to two release versions of a console’s SDK. The two release versions of a console’s SDK (Microsoft’s Xbox SDKs, Sony’s PlayStation SDKs, and Nintendo’s Switch SDKs, for example) are:
    • The latest release version.
    • The previous release version.
    • Note: This applies to the EOS SDK for all consoles and to all future releases of the EOS SDKs for consoles.
  • Bug fix:EOS_Platform_Create now correctly detects pre-SDK 1.15 header files and treats the default EOS_ENetworkStatus to EOS_NS_Online on all platforms. This resolves a backwards compatibility issue on consoles.

Sony PlayStation

  • New: Added version support for PS4 SDK 9.008.001 and retained support for PS5 SDK 4.000.00.31.

Nintendo Switch

  • New: Added version support for Nintendo Switch SDK 14.3.0 and retained support for Nintendo Switch SDK 13.3.2.

Microsoft Xbox

  • New: Added version support for Xbox GDK 220301 and retained support for Xbox GDK 211001.