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.
- To apply the fix, replace the old version of
- 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 defaultEOS_ENetworkStatus
toEOS_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 callEOS_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.
- Now: On all console platforms, the default network status is offline. This provides better management when you use
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 toEOS_Platform_Tick
to receive new packets. - New: Added a new field to
EOS_P2P_SendPacket
. The new field, calledDisableAutoAcceptConnection
, 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 returnsEOS_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.
- If you use this option, your game must always use
- 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
andEffectiveDate
toEOS_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 lastEOS_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 fromEOS_ECom_CatalogOffer
.- Note: Do not use the
PurchasedCount
field. - Now: The
PurchasedCount
field always has a value of0
. - Previously: In pre-SDK 1.15.2, the EOS service sends
PurchasedCount
with a value of0
unless you have configuredPurchaseLimit
for the offer. We will not support this behavior indefinitely, so do not depend on this value.
- Note: Do not use the
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 invokesCompletionDelegate
multiple times, and no longer returnsEOS_NotFound
when the operation requiresHTTP
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 defaultEOS_ENetworkStatus
toEOS_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.