EOS What's New

The high-level features and changes for each release of Epic Online Services (EOS) SDK.

EOS What's New is a high-level description of what’s changed in Epic Online Services (EOS) with every EOS SDK release.
See the following documentation for additional information on EOS.

  • Get started:
    See the EOS Get Started Steps page for information on how to set up and use EOS services and the EOS SDK.
  • Release notes:
    See the EOS SDK Release Notes documentation for more detailed information on what's changed with every EOS SDK release.
  • Planned features:
    Find out what’s in development on the EOS roadmap at trello.com/~/eos-public-roadmap.

2023

1.16 - 2023-aug-16

This release includes new console crossplay features, support for additional console SDK versions (Sony PlayStation, Microsoft Xbox, and Nintendo Switch), and numerous bug fixes. It also contains a few breaking changes required to enable these new features and updates.

Crossplay

The SDK expands crossplay support from Windows PC (released in SDK 1.15) to games on Nintendo Switch, Sony PlayStation, and Microsoft Xbox consoles. By using the EOS Overlay in your game, players can quickly sign in to their Epic Games account on all platforms and easily interact with their friends and lobby members.

With this new release, you can now offer players:

  • Consistent overlay UX: An out-of-the-box overlay that provides a familiar player experience on PC and console platforms.
  • One combined friend's list: Friend lists across platforms merge into one overlay, enabling players to see and invite their friends in one place. Please see Crossplay Technical Overview: Social Overlay and Friends for more information.
  • Frictionless cross-platform account creation: Players can start playing quickly using their existing Epic Games account or a new one created for them, linked to their active native platform account.
  • Integrated game invites: In-game, players can search and send game invites to friends across platforms, making connecting and playing together easy.
  • Secure social experience on any platform: Implements the native platform's trust, safety, and privacy guidelines, in addition to Epic's own trust and safety controls.

You can find out more in the documentation on Crossplay Introduction.

Notable Additions

  • Anti-cheat
    • Added client and server SDK samples for Easy Anti-Cheat.
  • Authentication
    • The EOS_Auth_Login API now accepts an EOS_LF_NO_USER_INTERFACE flag. This flag enables automatic player login that fails silently, without prompting the player to sign in if no credentials are found.
  • Social Overlay
    • The social overlay has new features in the Your Party section, which displays the members of the player’s lobby.
      • The new features are: A Leave Party button, non-friends showing in Your Party, and a count of the members in Your Party.
      • See the Social Overlay: Your Party documentation for more information.
    • Players can now request friends to join their lobby directly from the social overlay.
      • See the Social Overlay: Request to Join documentation for more information

Breaking Changes

  • Anti-Cheat

    • The anti-cheat bootstrapper (start_protected_game) may reject anti-cheat updates because of a file size limit.
      • Please update this executable as soon as possible to avoid errors from future module updates. The executable can be updated without updating the rest of the SDK or recompiling your game.
  • Authentication

    • Device Code support using EOS_LCT_DeviceCode for Epic Games accounts sign-in is now deprecated.
      • Please discontinue using EOS_LCT_DeviceCode in the EOS_Auth_Login function and use another authentication method.
    • Linked account messages received from the backend are not guaranteed to have an Account ID. This is an expected state, so the AccountId field on EOS_UserInfo_ExternalUserInfo is Optional.
      • We recommend you revisit any handling that assumes a specific number of external accounts. The API has not changed, but the behavior has changed, so if you have code that interacts with the AccountId field of EOS_UserInfo_ExternalUserInfo, it must be verified to check for null values.
  • Crossplay

    • The struct EOS_Platform_GetDesktopCrossplayStatusInfo has been replaced with EOS_Platform_DesktopCrossplayStatusInfo for naming consistency.
    • The AllowedPlatformIds and AllowedPlatformIdsCount fields on EOS_Lobby_CreateLobbyOptions and EOS_Sessions_CreateSessionModificationOptions must be initialized; if the lobby is not intended to have restrictions the field should be set to nullptr and 0 respectively. In the case of applications that do not have default initialization, for instance C applications, these fields must be explicitly initialized.
    • You now need to determine the bCrossplayOptOut value in EOS_Lobby_CreateLobbyOptions, EOS_Lobby_JoinLobbyOptions, and EOS_Lobby_JoinLobbyByIdOptions.
    • By default, bCrossplayOptOut defaults to EOS_FALSE in order to maintain the existing assumption that lobby creators and joiners permit crossplay by default.
  • EOS Core

    • Several macros have been renamed to fit with the standard EOS SDK naming convention of EOS_<system_type>_<function_name>_API_LATEST. We have removed the string OPTIONS from macros in the eos_playerdatastorage_types.h, eos_titlestorage_types.h and eos_private_ui_types.h header files.

    For example, EOS_PLAYERDATASTORAGE_QUERYFILEOPTIONS_API_LATESThas been renamed to EOS_PLAYERDATASTORAGE_QUERYFILE_API_LATEST.

    • We recommend replacing any deprecated macros that use the old naming convention with macros that use the new naming convention. The deprecated macros are still present for backward compatibility, but we will be removing them in a future version.
    • A WebRTC vulnerability, as disclosed by Google for versions M102 and earlier, has been fixed.
      • We recommend everyone using EOS P2P in earlier EOS SDK versions to update to 1.16 as soon as possible. Impacts can be found here.
  • Friends

    • Unused types related to the previously removed EOS_Friends_DeleteFriend API have been deprecated.
      • You should remove any instances of these types or references to this API.
  • Lobbies

  • Player Data Storage

    • The unused define EOS_PLAYERDATASTORAGE_FILE_MAX_SIZE_BYTES has been deprecated.
      • Although unused, any references to this define should be removed.
  • Sessions

    • EOS_Sessions_UpdateSession now returns EOS_LimitExceeded if a new session cannot be created because doing so would exceed the maximum allowed concurrent session count.
      • We recommend you update the usage of EOS_Sessions_UpdateSession to handle the EOS_LimitExceeded return code.
    • EOS_Sessions_UpdateSession and EOS_Sessions_JoinSession now returns EOS_InvalidUser if the local user associated with the session does not exist or is not authenticated.
      • We recommend you update the usage of EOS_Sessions_UpdateSession and EOS_Sessions_JoinSession to handle EOS_InvalidUser return codes.
    • EOS_Sessions_RegisterPlayers now returns EOS_Sessions_TooManyPlayers when registering the requested number of players would exceed the maximum capacity of the session. This was previously EOS_LimitExceeded.
      • We recommend you update the usage of EOS_Sessions_RegisterPlayers to look for EOS_Sessions_TooManyPlayers instead of EOS_LimitExceeded for cases where the requested number of players would exceed the maximum capacity of the session.
  • Voice

    • We deprecated and replaced some EOS_RTCAudio methods and structs.
    • We recommend you read the Deprecations: Voice section of the Release Notes and replace them with the newer methods and structs as soon as possible.

SDK 1.16 Updates

This SDK release has some notable updates and bug fixes across several major features. See the Release Notes for a full list.

  • Sony PlayStation
    • Added version support for PS4 SDK 10.5 and retained support for PS4 SDK 10.0 and PS4 SDK 9.5.
    • Added version support for PS5 SDK 7.0 and retained support for PS5 SDK 6.0 and PS5 SDK 5.0.
  • Nintendo Switch
    • Added version support for Nintendo Switch SDK 16.2.0 and retained support for Nintendo Switch SDK 15.3 and Nintendo Switch SDK 14.3.
  • Microsoft Xbox
    • Added version support for Xbox GDK 230305 (March 2023 QFE5) and retained support for Xbox GDK 211001 and Xbox GDK 220604.

1.15.5 - 2023-feb-16

Anti-cheat

Anti-cheat new features:

  • The anti-cheat metric collection now keeps track of the number of players kicked from your game when you have configured anti-cheat with peer-to-peer mode.
  • The anti-cheat service now supports Chromebooks.

There are four additional improvements to the anti-cheat bootstrapper. The anti-cheat bootstrapper now:

  • Logs anti-cheat module failures.
  • Supports macOS version 10.14 and higher.
  • Displays a dialog for you to test unpublished anti-cheat modules.
  • Uses 64-bit architecture.

Sessions EOS_Sessions_RegisterPlayers now returns EOS_Sessions_TooManyPlayers when it registers a number of players which exceeds the maximum capacity of a session. Previously, EOS_Sessions_RegisterPlayers returned EOS_LimitExceeded.

Voice

Fixed an intermittent issue where a player's status change in the voice chat room did not call a callback set up with EOS_Lobby_AddNotifyRTCRoomConnectionChanged.

Breaking Changes

Anti-cheat

  • For games using EOS SDK version 1.15.5 and higher, you must update your anti-cheat modules to the latest version, as older anti-cheat modules might not work for players as expected.

Sessions

  • We deprecated the return error value, EOS_LimitExceeded for EOS_Sessions_RegisterPlayers. Now EOS_Sessions_RegisterPlayers returns the new error value EOS_Sessions_TooManyPlayers. For games using EOS SDK version 1.15.5 and higher, make sure you set up your games to check for the new error value.

SDK 1.15.5 updates

Microsoft Xbox

  • Added version support for Microsoft Xbox GDK version October 2022 QFE1 (221001) and Microsoft’s Xbox GDK version June 2022 QFE4. (220604).

Nintendo Switch

  • Added version support for Nintendo Switch SDK version 15.3.0 and retained support for Nintendo Switch SDK version 14.3.0.

Deprecations

Anti-cheat The log file loader.log is deprecated. We have introduced a new log file, anticheatlauncher.log, as the single log file for the anti-cheat bootstrapper.

2022

1.15.4 - 2022-nov-16

This release includes improvements across multiple interfaces, as well as extra support for game consoles.

Ecom We have added a new EOS SDK API to the Ecom Interface: EOS_Ecom_QueryEntitlementToken. It supports token-based verification of consumable items in your game (that is items which have limited persistence, decreasing a "use count" each time a player uses the item in your game). Use this new API to generate a JWT in your game’s client code to pass to a server-side verification service, if you use one.

For further information, see:

  • Token-based verification in the Ecom Quickstart Guide in the Epic Games Store documentation.
  • The Ecom Interface in the Epic Games Store documentation.
  • The Ecom documention's section on entitlement token verification in the EOS Web API Reference.
    This has information on how to pass this data to your chosen verification service, either your own or a third-party verification service (TPV).

Lobbies and Sessions

We have fixed a bug within Lobbies and Sessions so the following player limits are now correctly enforced:

  • 16 maximum concurrent lobbies per player.
  • 16 maximum concurrent sessions per player.

Peer-to-peer

We have improved security and responsiveness during poor network conditions by using the dcSCTP Stream Control Transmission Protocol (SCTP) library implementation instead of usrsctp.

Note: This change is backward compatible, but we recommend you upgrade to the latest version as soon as possible for security and performance reasons.

SDK 1.15.4 updates

Sony PlayStation

  • Added version support for Sony PlayStation 4 SDK 10.008.001.
  • Added version support for Sony PlayStation 5 SDK 6.00.00.38.
  • Fixed a crash when players joined or left lobbies with voice chat enabled, on PlayStation 5 .

Microsoft Xbox

  • Added version support for Microsoft Xbox GDK 220602 (June 2022 QFE2).

Deprecations

Anti-cheat

The AccountId parameter in EOS_AntiCheatServer_RegisterClientOptions is deprecated. We have introduced a new EOS_ProductUserId UserId parameter to replace it. Note: If your game servers do not yet securely receive the EOS_ProductUserId from game clients, we recommend that you use the EOS Game Services' Connect Interface EOS Connect ID Tokens to get the EOS_ProductUserId.

EOS Core

We have removed the string OPTIONS from macros across the Player Data Storage Interface and Title Storage Interface to align with the standard EOS SDK naming convention (EOS_<system_type>_<function_name>_API_LATEST). Note: For backward compatibility, the deprecated macros are still present but we will remove them in a future version. We recommend replacing any deprecated macros that use the old naming convention, with macros that use the new naming convention.

1.15.3 - 2022-sep-19

There are now two types of EOS SDK for Android:

  • New: A static SDK which links with libc++_static.a.
  • Existing: A dynamic SDK which links with libc++_shared.so.

You can use either the static SDK for Android or the dynamic SDK for Android.

1.15.2 and 1.15.2.1 - 2022-aug

The 1.15.2 release (and 1.15.2.1 update) includes added support for Apple silicon, anti-cheat and ecom updates, as well as updates to the EOS SDKs for consoles (EOS SDK for Microsoft Xbox, EOS SDK for Nintendo Switch), and numerous bug fixes.

New Features

  • The SDK now supports Apple silicon on Mac with a universal dylib.
    • Note: Easy Anti-Cheat currently does not support Apple silicon.
  • From EOS SDK version 1.15.2 onwards, the EOS SDK is pinned to two release versions of a console platform's SDK (Microsoft’s Xbox SDKs, Sony’s PlayStation SDKs, and Nintendo’s Switch SDKs, for example), where applicable. These two console platform versions are:
    • The console platform SDK's latest release version.
    • The console platform SDK's previous release version.

Anti-Cheat updates

There is one new Anti-cheat feature:

  • In the anticheat_integritytool.cfg configuration file, 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.

There are three additional improvements:

  • The anti-cheat bootstrapper no longer caches its resources onto a player’s machine’s hard disk.
  • 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.
  • The anti-cheat integrity tool now has more usage samples. You can see them by running anticheat_integritytool.exe --help.

Ecom updates

  • We have added two new fields, ReleaseDate and EffectiveDate, to EOS_Ecom_CatalogOffer, which you can use to inform players when an offer will become available for purchase.
  • We have 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 by a given index.

Deprecation Notices

  • We have deprecated the PurchasedCount field from EOS_Ecom_CatalogOffer, which now always returns 0. Do not use this field anymore.
    • In previous versions of the SDK PurchasedCount is 0 unless a PurchaseLimit is configured on the offer. This behavior is not guaranteed and we recommend no longer using this field and upgrading to the latest SDK.

SDK 1.15.2 and SDK 1.15.2.1 Updates

This SDK release has some notable updates and bug fixes across several major features. See the SDK Changelog in the Developer Portal for a full list, the following are highlights:

  • Console platforms
    • EOS_Platform_Create now correctly detects pre-SDK 1.15 header files and sets the default NetworkStatus to EOS_NS_Online on all platforms. This resolves a backwards compatibility issue on consoles.
  • Sony PlayStation
    • Added version support for PS4 SDK 9.008.001 and PS5 SDK 4.000.00.31.
  • Nintendo Switch
    • Added version support for Nintendo Switch SDK 14.3.0 and retained support for Nintendo Switch SDK 13.3.2.
  • Microsoft Xbox
    • Added version support for Xbox GDK 220301 and retained support for Xbox GDK 211001.
  • Apple macOS
    • Fixed an issue where the Dev Auth Tool and anti-cheat bootstrapper didn't open.
  • Samples
    • iOS and Android samples now include example use of the SDK suspend / resume and network connect / disconnect APIs introduced in SDK 1.15.
  • Overlay
    • If you disable the Epic Online Services overlay in your game, or if it is not installed, Auth Interface authentication uses a system browser to enable players to sign in.

1.15.1 - 2022-jul-01

We deprecated EOS_ECT_STEAM_APP_TICKET for use with EOS_Auth_Login and replaced it with EOS_ECT_STEAM_SESSION_TICKET.

1.15 - 2022-jun-16

This release includes new crossplay features, Anti-Cheat updates, updates to the console versions of the SDK (Sony PlayStation, Microsoft Xbox, and Nintendo Switch), new voice volume control API, and numerous bug fixes. It also contains a few breaking changes required to enable these new features and updates.

Crossplay

The SDK now offers seamless crossplay on PC: you can use crossplay to unify your players and your matchmaking pools across Steam and the Epic Games Store.

Its main features are:

  • Use new Friends Interface APIs to enable players to make friend invites directly, and make connecting and playing together more streamlined.
  • Steam players can jump into a game without emails or passwords; the SDK and EOS back-end services create an Epic Games Account for them under the hood and link it to their Steam account.
  • Steam and Epic Games Store friends are now displayed side-by-side in the Epic Social Overlay on Steam, so players can see all friends in a single list.
  • The in-game overlay handles Epic Account Services authentication and account linking so players stay in your game and are not redirected to an external browser.
  • With the new self-updating redistributable, players experience new features and improvements to the Epic Social Overlay without you making changes to your build.

Crossplay is not a new interface or new overlay; we implemented crossplay in our existing features. You can find out more in the documentation on Crossplay Introduction.

Anti-cheat updates

There are three new Anti-Cheat features:

  • Anti-cheat peer-to-peer mode now supports cross-platform play between PC and console users.
  • In the configuration file 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.
  • We replaced the client-side EOS_AntiCheatClient_PollStatus with a callback function which you can access through EOS_AntiCheatClient_AddNotifyClientIntegrityViolated.

There are three additional improvements:

  • Better error logging.
  • The Anti-Cheat bootstrapper: its binary (executable file) is now inside a bundle, it no longer caches its resources onto a player’s machine’s hard disk, and on Windows, it now displays your game executable’s icon in the taskbar.
  • The Anti-Cheat integrity tool now has more usage samples.

We deprecated EOS_AntiCheatClient_RegisterPeerOptions AccountID and replaced it with PeerProductUserId.

We fixed 6 bugs, including fixing an issue where players could cheat to avoid detection.

Breaking Changes

  • Core

    • Breaking Change: All games must now call EOS_Platform_SetApplicationStatus and EOS_Platform_SetNetworkStatus. We added these APIs to the Platform Interface. They inform the SDK when the game gets suspended and resumed, and when the network connectivity state of the local system changes. You can use two related APIs to check these statuses, these are optional.
  • Authentication

    • Breaking Change: On Windows, the EOS_LCT_AccountPortal and EOS_LCT_ExternalAuth login types now require the EOS redistributable installed and your game must launch with the EOS bootstrapper.
  • C# SDK

    • Breaking Change: We changed most reference types (classes) to value types (structs), giving significant performance gains. You must now use the ref keyword when you pass options structs in API calls and use info structs in callbacks.

SDK 1.15 Updates

This SDK release has some notable updates and bug fixes across several major features. See the SDK Changelog in the Developer Portal for a full list, the following are highlights:

  • Console-specific

    • Sony PlayStation 4 support updated to 9.508.001
    • Sony PlayStation 5 support updated to 5.00
    • Nintendo Switch support updated to 13.3.2
    • Microsoft Xbox GDK support updated to 211001 (October 2021 QFE1)
  • Core

    • Updated the SDK build version string returned by EOS_GetVersion to contain the platform it relates to.
  • Voice

    • Added an audio volume control API (EOS_RTCAudio_UpdateParticipantVolume) that extends (and replaces) the existing volume control.
  • Developer Auth Tool

    • The tool now persists the provided port and credentials, and refreshes credentials when it’s run for long durations.
  • The Social Overlay

    • The Social Overlay now shows a player ALL their Epic friends. This includes Epic friends who have never played the game which a player is playing.

Known Issues

  • Core
    • iOS and Android samples are currently not updated with examples of the new suspend / resume and network connect / disconnect APIs.

1.14.2 - 2022-feb-01

NEW

We’ve increased Anti-Cheat’s efficiency, as well as updated the Easy Anti-Cheat Bootstrapper.

Also, Sessions that enforce sanctions can now be created. Sanctioned players may neither join nor register with a session that was created with sanctions enabled. See Sanctions document for details.

Improvements and Bug Fixes

Easy Anti-Cheat

  • Increased stability and memory management efficiency
  • Fixed a crash occurring with high number of players in a single game or to players with a poor backend connection

Core

  • Improved error logging on startup

Other

  • Numerous bug fixes for Connect and Epic user verification using ID tokens
  • Updated Nintendo Switch SDK

Known Issues

When the Anti-Cheat bootstrapper is provided with a custom icon it will sometimes appear blurry.

  • This will be resolved with the next release.

2021

1.14.1 - 2021-nov-05

Custom Invites The Custom Invites Interface is out!

Custom Invites allows titles to allow titles to use the built-in Epic Online Service (EOS) Connect messaging to send and receive invites.

This system should be considered viable in the following cases:

  • Titles that already have an existing and robust invitation system
  • Titles where users want send and receive invites through the Epic Account Services Social Overlay

Easy Anti-Cheat

Improvements and Updates!

Since the recent release of our Easy Anti-Cheat, we’ve included information on bootstrappers for the Anti-Cheat Interface!

Identity Provider

  • Added Amazon as a supported user authentication provider!

2021-aug-17

Publishing Tools Closed Beta

There is a new suite of Epic Games Store self-publishing tools now in beta! These tools empower you to control the publishing process for your games to the Epic Games Store. Go to Publishing Tools - Closed Beta to learn what to expect and how these tools work.

New Sitemap

We revamped the entire EOS documentation site map to help organize our content based on the services you are using: the Developer Portal, Epic Account Services, Epic Games Store, Game Services, and the API references. This is just another small step to cleaning up our content for your ease of you and our efforts continue to improve the documentation.

We missed highlighting one of our features from the SDK 1.11 release!

Artifacts

By mapping deployments with Games Store artifacts, you can add lobby and session invite functionality to the Epic Games Launcher to friends online, even if they are not signed into the game. This gives your players another way to connect with other players on their Epic Games Store friends list across platforms.

1.13 - 2021-jun-21

Voice

For this release, the Voice interface is a Preview service. You can use the Voice interface to create and manage voice chats among your users. And with the Voice-Lobbies integration, you can have the Lobbies interface handle the room management and authorization.

Be sure to check out the sample projects for C and C# as well!

Web APIs

Although we’ve had REST APIs for the Auth interface and Ecom interface, we are building out our Web APIs to support more common use cases for web and backend services.

We still recommend using the EOS SDK to interact with your game clients and servers, but check out the Web API Introduction and reference for the HTTP API options as well!

Dark Theme

You can switch between dark and light theme in our documentation! Use the switch near the bottom of the panel navigation to change your view.

1.12 - 2021-may-27

Easy Anti-Cheat

For this release, the Anti-Cheat interfaces are a Preview service.

You can use the Anti-Cheat interfaces (also known as Easy Anti-Cheat) to help reduce cheating in online multiplayer play.

itch.io as an Identity Provider

You can use itch.io as an identity provider for your products.

Available identity providers are platforms where Epic Online Services can link your users’ accounts to enable sharing their data across the different platforms and participate in cross-platform features like matchmaking. Identity providers must be configured in your Developer Portal and work with the Connect interface.

1.11 - 2021-apr-07

Sanctions interface

You can use the Sanctions interface to manage the punitive actions taken against your users, such as temporary or permanent bans.

Reports interface

The Reports interface stores in-game user behavior reports that you can query to view the details of reported user behaviors, such as cheating, verbal abuse, offensive profiles, and so on. You can then use this information with the Sanctions interface to help conduct any punitive actions.

Google as an Identity Provider

You can use Google as an identity provider for your products.

Available identity providers are platforms where Epic Online Services can link your users’ accounts to enable sharing their data across the different platforms and participate in cross-platform features like matchmaking. Identity providers must be configured in your Developer Portal and work with the Connect interface.

Artifacts

By mapping deployments with Games Store artifacts, you can add lobby and session invite functionality to the Epic Games Launcher to friends online, even if they are not signed into the game. This gives your players another way to connect with other players on their Epic Games Store friends list across platforms.