This guide aims to help partners promote an optimal experience for users while also ensuring compliance with Epic Games Store requirements. The sections below provide test cases and recommendations for crossplay multiplayer requirements, Epic Online Services (EOS), and a variety of player experience topics.
Before distributing your product or any updates on the Epic Games Store, it is strongly recommended that you review and verify these test cases to ensure a successful launch.
Epic Online Services
Epic Account Services Player Consent
Games using Epic Account Services require player consent to share data. As long as games use the correct CredentialType, players should be directed to grant consent a single time when first launching the game. For games sold in the Epic Games Store, this consent may be granted automatically at time of purchase. Players have the ability to revoke consent at any time from their Account Connections page.
- Sign into an account that is not associated with your Dev Portal organization.
- Ensure the game is not listed on the Account Connections page.
- Launch the game.
- Complete the consent flow when prompted.
- Exit and relaunch the game, confirming the consent flow does not display.
- The account proceeds into gameplay without seeing the consent flow after providing initial consent. Games on the Epic Games Store should use ExchangeCode rather than AccountPortal to ensure correct behavior.
- The Epic Account Services application has its Brand Settings in the Published state prior to game release. Applications that have yet to complete Brand Review cannot allow accounts outside your organization to sign in.
- Consent flow only displays on the initial game launch.
- Epic Account Services application has completed Brand Review.
- Consent flow displays on subsequent game launches after initial consent was provided.
- Epic Account Services application has not completed Brand Review. Brand Settings are set to Not Configured or Under Review.
Connect Interface Access Token Renewal
The Connect Interface requires games to renew players’ access tokens on an hourly basis to maintain a connection to Epic Online Services (EOS).
Games should use the AddNotifyAuthExpiration function to be notified when an access token is about to expire, and proceed to renew the log-in. Failure to carry out this renewal process results in service calls failing once the token expires.
- Launch the game and complete the initial sign-in flow.
- Wait 60 minutes.
- Attempt to use any EOS functionality implemented in the game (e.g., achievements, multiplayer, Player Data Storage, etc.).
- Verify through your game application’s local log file that the game client receives the OnAuthExpirationCallback notification from EOS SDK and successfully refreshes the authentication using the EOS_Connect_Login API.
- Features of the game using EOS functionality continue to function as expected after at least 60 minutes have passed.
- EOS functionality remains usable after 60 minutes of gameplay.
- EOS functionality becomes unusable after 60 minutes have passed from initial sign-in.
Offline Mode Support
The Epic Games Launcher allows users to opt in to Offline Mode, which passes the
epicuserid command line arguments to the game process upon launch.
However, an Exchange Code is not provided, and Epic Online Services (EOS) functionality, including entitlement checks, is not available to the game. You can choose to restrict or allow access to any additional content gated by entitlements, or you can implement a secure entitlement cache to allow players to proceed offline for a set period of time.
- While connected to the internet, access the Epic Games Launcher and select Enable Offline Mode Browsing in the Settings menu.
- Exit the launcher and disable the computer’s internet connection.
- Restart the launcher, entering your account’s email address to proceed.
- Launch the game.
- Game remains stable, and player is alerted to the lack of internet connection when attempting to enter areas of the game that require an active connection.
- Game remains fully playable in Offline Mode.
- Game remains playable in Offline Mode but restricts access to certain content.
- Game informs player that game cannot be launched in Offline Mode.
- Game crashes when launched in Offline Mode.
- Game displays misleading or uninformative messaging when launched in Offline Mode.
Sandbox/Deployment ID Handling (Epic Games Store publishing tools only)
All products configured using the Epic Games Store publishing tools in the Dev Portal are equipped with a standard set of three sandboxes: Dev, Stage and Live.
As static Sandbox ID and Deployment ID values are required to initialize Epic Online Services (EOS), the following implementation is recommended to ensure the build can handle being downloaded and used across multiple sandboxes:
- Sandbox ID: This ID can be obtained from the Epic Games Launcher at launch time in the form of the
epicsandboxidlaunch argument provided to all games.
- Deployment ID: This ID can be set within your build in a custom if/switch statement block targeting the expected deployment for the sandbox in question.
- Promote the build from the Dev to Stage sandbox.
- Sign in to an account that owns the game in both the Dev and Stage sandboxes.
- Launch the game in the Dev sandbox and ensure any implemented EOS features behave as expected.
- Exit the game and relaunch in the Stage sandbox, testing the same features.
- When pushing the game to the Live sandbox, perform the same test but use a fresh account that is not a member of the dev organization.
- EOS features remain usable across different sandboxes.
- Player state should be distinct between sandboxes. If achievements or add-on purchases have only been completed in a single sandbox, they should not be available in other sandboxes.
- Game handles the
epicsandboxidlaunch argument and dynamically sets the correct Sandbox ID and Deployment ID.
- Game dependencies require hard-coding Sandbox ID and Deployment ID values, and Live values are used for each.
- An account not associated with a Player Group or added as a member to the developer organization can play the Live sandbox build without issues.
- Game references Dev or Stage sandbox/deployment when downloaded from Live sandbox, blocking sign-in for players.
- Live deployment is set to Private at time of game release, blocking sign-in for players outside the Dev Portal organization.
Epic Games Store Achievements
Games published to the Epic Games Store can leverage Epic Games Store achievements to enhance the player experience by rewarding users with experience points (XP) for various interactions with your game. These achievements utilize the Epic Online Services achievement functionality for in-game integration.
With Epic Online Services achievements implemented in the game, Epic Games Store achievements can be configured in the Dev Portal by specifying XP values for the achievements. Epic Games Store achievements require the use of Epic Account Services to authenticate the player and record their achievement progress and unlocks.
To optimize the player experience, we recommend enabling the Social Overlay to display achievements and achievement progress in game. We also recommend performing a similar test with a fresh account, not assocaited with the developer organization, once you push to the live Sandbox
- Launch the game.
- Sign in to an Epic Games account in the game.
- Advance the gameplay to a point where an achievement is unlocked.
- If the Social Overlay is enabled:
- The overlay (opened with Shift+F3) displays the game’s available achievements on the Achievements tab.
- An XP value displays for each achievement listed on the Achievements tab.
- The achievement unlock notification displays at the top center of the screen along with an unlock sound and the proper tier (i.e., bronze, silver, gold, or platinum) for the achievement.
- Achievements are correctly shown and unlocked in the game using the Social Overlay.
- Achievements are correctly unlocked in the game and displayed on the game’s product page in the Epic Games Store.
- Achievements in the Social Overlay only show Epic Online Services achievements (without XP, rarity, and tier)
Unicode Character Support
Both Windows and Epic Games accounts allow players to use characters outside the Latin alphabet in their display names. Games should include users with this configuration in their test pass.
- Sign into a Windows user account including a non-Latin character.
- Sign into an Epic Games account with a display name including a non-Latin character.
- Install the game into a folder including a non-Latin character.
- Launch the game.
- Proceed into each game mode and create save data.
- Exit and relaunch the game.
- All game modes should function as expected.
- Save data should remain accessible after relaunching the game.
- Game remains fully functional when launched by a user with non-Latin characters included in their Windows user account and installation folder.
- Display name of Epic Games account is depicted accurately in-game.
- Game fails to launch when installation folder includes non-Latin characters.
- Game fails to save or load player data when installation folder or display name of Epic Games account includes non-Latin characters.
- Game displays null characters in place of non-Latin characters in display name.
The Epic Games Store does not currently handle automatic installation of common redistributables like DirectX or Visual C++. Partners are responsible for handling the installation of any prerequisites needed for their games. To learn more about the options available, review Game Prerequisite Installers.
The Epic Games Launcher installs prerequisite redistributables configured using the
PrereqIds argument when uploading builds using the BuildPatch Tool. However, players may choose to uninstall these redistributables at any time. Games should alert players to the missing prerequisites and provide the information needed to address the issue.
- Install the game, including any configured redistributables.
- Note: The Epic Games Launcher treats return codes 0, 1638, and 3010 as successes.
- Launch the game and proceed into gameplay.
- Uninstall the required redistributables.
- Attempt to launch the game.
- Game informs player of any missing redistributables needed.
- Game installs the required redistributables upon initial launch.
- Game informs player of any missing redistributables after they have been removed.
- Game fails to launch when redistributables have been removed.
- Game does not inform player on how to resolve the issue.
Language and Locale Settings
Games have access to three key settings detailing a player’s location, language, and locale:
- Account Region: Used by the Epic Games Store to determine which offers, prices, and age ratings are available to a player. For games using regional builds and launch times tied to local time zones, account region is also used to drive these features. This region code can be obtained for a player through the
Countryproperty of EOS_UserInfo.
- Preferred Communication Language: Used to determine which language is used when contacting the player through email. This language code can be obtained for a player through the
PreferredLanguageproperty of EOS_UserInfo.
- Launcher Language: Used to determine which language displays within the Epic Games Launcher. This language code is provided to all games via the
epiclocaleargument when launching a game (see table below).
Supported Launcher Languages
|Launcher Language||epiclocale Argument|
|Spanish (Latin America)||es-MX|
- Set the Epic Games Launcher Language setting to a language supported by the game.
- Launch the game.
- Game automatically sets the correct display language or allows the player to freely switch between supported languages via in-game options.
- Game is able to handle and parse all command line parameters provided by the launcher without crashing.
- Game handles
epiclocaleargument and automatically sets in-game language.
- Game launches in single default language but allows players to manually set language through in-game option.
- Game lists a Supported Language on the product page, but players are unable to apply this setting through use of the
epiclocaleargument or in-game option.
Build Update Size Optimization
As part of the build upload process, the BuildPatch Tool automatically compares the data in the build to previous uploads and optimizes the generated patches to reduce the download size for existing players.
This process has been improved with BuildPatch Tool v1.5.0, and data is now compared across all artifacts tied to a product, rather than the single artifact of original upload. We strongly recommend using the latest version of the BuildPatch Tool available for download in Dev Portal.
- Install the current version of the game using a staging artifact or private sandbox.
- Note: The ability to download from a private sandbox is only available to partners participating in the Self-Publishing Tools Closed Beta.
- Set the next update of the game live in the test environment.
- Restart the launcher and observe the download size of the update.
- The update should result in a download size roughly representative of the binary delta between the builds, rather than a full redownload of the game.
- The download size for the update between two specific build versions can be further optimized by using the BuildPatch Tool’s BinaryOptimiseDelta mode. This command should be run with an empty CloudDir folder and may take additional time to complete processing compared to previous uploads for the game.
- Player is able to download updates between build versions without issue.
- Player re-downloads entire game when updating between build versions, due to use of outdated BuildPatch Tool for upload.
Launcher Cloud Saves
We encourage all games that save data locally to take advantage of the Cloud Saves feature supported by the Epic Games Launcher. For detailed test cases, review Cloud Saves.
All games that implement Easy Anti-Cheat should ensure the test cases outlined in the Anti-Cheat Integration Checklist have been verified prior to release.
At Epic Games, we want users to be able to play with their friends and other players, regardless of which store they use to purchase your game. As such, all titles coming to the Epic Games Store that offer online multiplayer must support cross-platform multiplayer with all other PC storefronts. Crossplay with other non-PC platforms (e.g., consoles) is optional but encouraged.
Crossplay does not need to be implemented through any particular service or account system. Epic Online Services and Epic Games accounts are offered free of charge as one potential solution. However, publisher-based or other third-party solutions are supported and welcomed.
To ensure your product meets this requirement, we have provided a number of recommended test cases for your crossplay-enabled build. For more information, review Cross-Platform Multiplayer Guidelines.