The Custom Invites feature is designed for developers who want to use their own grouping technology while still taking advantage of the Social Overlay and Epic Games Launcher invite buttons and prompts.Developers provide an arbitrary string payload for transmission to other players, and this payload is sent either through direct API call or via the Social Overlay Invite button. Players on the receiving side will see the same Social Overlay “Invite Received” prompts as with EOS Sessions and Lobbies, and received invites can also trigger new EOSSDK API callbacks if desired.
Added CustomInvites UI elements and functionality to AuthAndFriends sample.
A “Send Invite” button opens a send invite dialog which allows the user to set a payload and choose a target user, and ultimately “send” an invite. Instead of using the Send button, the Overlay can also be opened where a “Send” button will appear next to any users currently eligible to receive the invitation.
When an invite is received, a dialog appears with detail about the invite and offers “Accept” and “Decline” buttons which ultimately call FinalizeInvite with Success/Canceled results.
AntiCheat
New: Added verbose logging support for the bootstrapper, this is enabled by passing either of the following as command line arguments: -v or –verbose.
New: The bootstrapper now supports custom runtime icons on Windows, to use a custom icon place a BootstrapperIcon.ico under the <workingdir>/_EasyAntiCheat/ directory.
Bug Fix: Fixed AntiCheatServer backend timeout errors when running with a very high number of players in a single game server.
Bug Fix: Fixed a potential crash with a very high number of players in a single game server or with a poor backend connection.
Bug Fix: Fixed AntiCheatClient PollStatus function having an out parameter incorrectly named ViolationType instead of OutViolationType.
Bug Fix: Fixed AntiCheatClient PollStatus function lacking correct out parameter marshaling in the C# SDK.
Bug Fix: The bootstrapper is now code signed on Windows.
Bug Fix: The bootstrapper now displays an error if the executable field defined through Settings.json targets a directory.
Security improvements.
Authentication
Bug Fix: Fixed EOS_Auth_CopyIdToken not providing an ID Token for logins using the EOS_ELoginCredentialType::EOS_LCT_AccountPortal and EOS_ELoginCredentialType::EOS_LCT_DeviceCode credential types.
Connect
Added user authentication support using Epic Account ID Tokens with a new EOS_EExternalCredentialType::EOS_ECT_EPIC_ID_TOKEN credentials type.
Added Amazon as a supported user authentication provider.
Extended EOS_Connect_VerifyIdToken to return information about the external account associated with the verified Product User ID.
Updated header commenting for EOS_Connect_QueryProductUserIdMappingsOptions struct to callout usage with dedicated servers.
Core
Minimum supported macOS version has been changed from 10.14 to 10.12.
Lobbies
Bug Fix: Fixed a bug where create/join lobby would fail and destroy any existing lobbies by closing the active connection.
Social Overlay
New: Added the CustomInvites Interface to provide developers the ability to transmit/receive arbitrary payloads with the same high-level functionality provided by EOS Lobbies and Sessions.
New: Added CustomInvites UI elements and functionality to AuthAndFriends sample.
A “Send Invite” button opens a send invite dialog which allows the user to set a payload and choose a target user, and ultimately “send” an invite.
When an invite is received, a dialog appears with detail about the invite and offers “Accept” and “Decline” buttons which ultimately call FinalizeInvite with Success/Canceled results.
Custom Invites Interface: Added “Payload” as a parameter in the OnCustomInviteReceived and OnCustomInviteAccepted callback infos
New Subsystem: ProgressionSnapshot Subsystem was added but seems to be inactive/unusable for now
Epic Online Services SDK
Version 1.14
September 23, 2021
RELEASE NOTES
New Features:
Progression Snapshot, (Account Merge Service Preview)
Added a new feature in preparation for the introduction of account merge.
Progression snapshots are a way for developers to store key/value pairs about user progress in the application. This information will be used by account merge to help users make choices when combining account progress. See documentation for details.
AntiCheat
New: Added anti-cheat client support for Linux, including Wine/Proton
New: Added anti-cheat client support for Mac (Intel-based)
Bug Fix: Fixed bug causing anti-cheat gameplay data UnregisterClient event to not be sent.
Bug Fix:EOS_AntiCheatServer_RegisterEvent no longer accepts ‘.’ as part of an event name. This previously caused rejection by the backend but without a clear error.
Bug Fix: Fixed internal bug causing anti-cheat gameplay data UnregisterClient event to not be sent.
Bug Fix: Fixed possible anti-cheat issues if the system clock is updated at just the wrong moment.
Bug Fix: Fixed anti-cheat client module testing workflow not working correctly and leading to a “connection failed” error.
Updated Anti-Cheat ProtectMessage and UnprotectMessage APIs so that the final parameter OutBytesWritten only needs to be a valid pointer to an integer. Previously the integer needed to be initially set to the length of the output buffer.
Renamed anti-cheat ProtectMessage and UnprotectMessage API positional parameters for better clarity and consistency.
Added DamagePosition to EOS_AntiCheatCommon_LogPlayerTakeDamageOptions and deprecated HitBoneId. This provides more accurate information about hit locations.
Anti-Cheat client modules are now managed at the Deployment level rather than the Sandbox level. This is more consistent with other EOS services. You must be sure to update the EOS_AntiCheatTools files when updating your game to this version of the SDK.
The EOS Connect DeviceID auth method is not supported for anti-cheat. A new result code EOS_AntiCheat_DeviceIdAuthIsNotSupported is now returned for this case.
Authentication
New: Added new APIs EOS_Auth_CopyIdToken, EOS_Auth_QueryIdToken, and EOS_Auth_VerifyIdToken to allow game servers, online backends and other clients to securely verify identities of other Epic account users. Games using the existing EOS_Auth_CopyAuthToken and EOS_Auth_VerifyAuthToken APIs should consider switching to use ID tokens instead.
New: Added API support to detect a merged Epic account state for local users. This is relevant for an upcoming Epic Account Services functionality that will allow users to merge their separate Epic accounts into a single Epic account.
Connect
New: Added new APIs EOS_Connect_CopyIdToken and EOS_Connect_VerifyIdToken to allow game servers, online backends and other clients to securely verify another EOS user’s identity.
New: Added EOS_Connect_CopyIdToken, EOS_Connect_IdToken_Release, and EOS_Connect_VerifyIdToken APIs for the management of Connect ID Tokens. For more information, see the Connect Interface documentation.
ECommerce
New: Exposed DecimalPoint for the provided price in EOS_Ecom_CatalogOffer structure. For example, DecimalPoint ‘2’ and CurrentPrice64 ‘12345’ would be ‘123.45’.
Overlay Tech Platform
Bug Fix: Notification callbacks added by EOS_UI_AddNotifyDisplaySettingsUpdated and then removed by EOS_UI_RemoveNotifyDisplaySettingsUpdated before ticking are never invoked. Previously they would have been invoked once and if the game had freed some dependent state, a crash was possible.
P2P
It is now possible to get notifications when a connection is established with EOS_P2P_AddNotifyPeerConnectionEstablished and EOS_P2P_RemoveNotifyPeerConnectionEstablished.
It is now possible to clear queued incoming and outgoing packets for/from a given remote user and specific socket with EOS_P2P_ClearPacketQueue.
Player Data Storage
Bug Fix: Fixed an issue where reading files from the local cache of Player Data Storage could be very slow.
Improved PlayerDataStorage logging for many error cases.
Presence
Bug Fix: Fixed an issue when Presence service would keep trying to auto-update status when connection is lost.
Samples
Bug Fix: Fixed building Leaderboard sample on Mac / Linux by adding missing AssetUtils.cpp to Makefile.
Sanctions
Added TimeExpires and ReferenceId fields to EOS_Sanctions_PlayerSanction. This information was already visible in the EOS Developer Portal but previously not available through the SDK API.
Voice
Exposed EOS_RTC_SetSetting and EOS_RTC_SetRoomSetting APIs
“DisableEchoCancelation” Disables the use of echo cancellation for the audio channel. Default “False”
“DisableNoiseSupression” Disables the use of noise suppression for the audio channel. Default “False”
“DisableAutoGainControl” Disables the use of auto gain control for the audio channel. Default “False”
“DisableDtx” Global\Per room Allows to disable the use of DTX. Default “False”
Mobile
iOS
Bug Fix: Fixed an issue where an exception could occur on iOS 14 due to invalid characters in the URL scheme.
UPGRADE NOTES
AntiCheat
When upgrading to SDK 1.14, you must update the files start_protected_game.exe, EasyAntiCheat_EOS_Setup.exe, and anticheat_integritytool.exe to the latest versions from the bundled EOS_AntiCheatTools zip file.
If you want to activate Wine/Proton support for your Windows game, you must activate a Linux module in the EOS Developer Portal. See the EOS developer documentation for further details.
PROGRAMMING UPGRADE NOTES
AntiCheat
Usages of EOS_AntiCheatCommon_LogPlayerTakeDamageOptions should be updated to set the DamagePosition field instead of HitBoneId. This provides more accurate information about hit locations.