If you have already downloaded and are using Epic Online Services SDK version 1.15.2 and your game utilizes P2P, you are strongly encouraged to update to the 1.15.2.1 version of the SDK as soon as possible.
RELEASE NOTES
P2P
Bug Fix: Resolved a new issue in 1.15.2 where a P2P connection to a peer would timeout shortly after connecting under specific circumstances.
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.
New: EOS_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.