You can use Epic Online Services (EOS) Title Storage service to do the following:
- Store data files relevant to your game on EOS cloud servers.
- Upload alternate versions of your game's data files (called file overrides).
- Query and download your game's data files through the EOS SDK's Title Storage Interface.
- Apply tags to your game's data files in order to label them for easy querying through the EOS SDK.
You manage your game's Title Storage files through the Title Storage page of the Developer Portal. The subsections below describe how to access and use the available options in the Title Storage page.
For more information on using the Title Storage Interface, see the Title Storage Interface documentation and the Title Storage API reference documentation.
The Title Storage service is different to the Player Data Storage service, which stores encrypted user-specific and game-specific data to EOS cloud servers. For information on this, see the documentation on the Player Data Storage Interface and the Differences from Player Data Storage section of the Title Storage Interface documentation.
Location of the default file
You can provide the default file in either the Developer Portal or in your game-client code. You can use the EOS service through the Title Storage Interface to retrieve alternate files, whichever location you use for your default file.
Alternate file requests must be in your game-client code
There are two steps to setting up file overriding; one step in the Developer Portal, the other in your game-client code.
- In the Developer Portal, you provide the alternate files and associate them with a game client (Client ID) or player (Product User ID (PUID)).
- In your game-client code, you request the file, by file name, using the Title Storage Interface and specifying the relevant game client (Client ID) or player (Product User ID (PUID)). The EOS Service returns the alternate files, or the default file if your game client's request does not specify a Product User ID (PUID) or Client ID.
You must provide an encryption key
This is a key the EOS service uses to encrypt and decrypt the default and alternate files.
- You must provide this key when you add a new file or edit an existing file through the Title Storage page on the Developer Portal, and when you query files through the Title Storage Interface.
- The key is your choice, but it must be a 64 hexadecimal character key and contain only alpha-numeric characters "0-9" and "A-F".
- Your file's encryption key is not stored on the EOS Service's servers. You are responsible for creating and storing this key. So, make sure you note it down somewhere for safekeeping.
We recommend that you create one key per file and use that key every time you edit the file. While it is possible to change the key every time you edit a file, we do not recommend this because your game clients might encounter errors: game clients must use the latest key you entered when you edited a file, otherwise they can't read the file through the Title Storage Interface.
In some cases, you might want to provide different versions of a file. For example, you might have a default text file that contains a message of the day for most players, but you would like to have a different file to deliver a different message of the day for players using a specific type of game client (client in the Developer Portal); for example, players using Nintendo Switch might get a Switch-specific message of the day, different to players using other platforms to play.
To do this, you must provide the alternate files you want to deliver to the players, and specify which players should receive these alternate files. You manage these details through the Title Storage page of the Developer Portal. Use the Title Storage page in the Developer Portal to upload an alternate file, and specify which game client (client in the Developer Portal) or player should receive that file. You can provide as many alternate files for as many different game clients and players as you choose (see the Accessing the Title Storage Configuration section below).
Accessing the Title Storage Configuration
Follow these steps to access the Title Storage page through the Developer Portal:
Sign in to the Developer Portal at dev.epicgames.com/portal.
On the home page, from the left-hand side of the page, select your game's product name under PRODUCTS.
Go to Game Services > OPERATIONS > Title Storage.
From here, you have two options (choose one):
Add a new file override: Click ADD FILE. This brings up the Enter an encryption key dialog.
Update an existing file override: Open the options menu (it looks like three dots (...) ) next to an existing file override in the table on the page and select Edit. This brings up the Enter an encryption key dialog.
(Note: You can also select Delete here, to delete the file override.)
In the Enter an encryption key dialog:
- Enter the encryption key in the field.
- Check Save the encryption key on your device as a .txt file.
- Click NEXT.
This displays the Add New File dialog or Edit New File dialog, depending on which option you followed in the step above.
You use the Add New File dialog or the Edit New File dialog to upload either or both:
- A default file.
- Any number of alternate files with the file's override conditions.
In the dialog, shown in the Configuration section below, you give each file you upload a file name and optional tags.
When you click SAVE & CLOSE, in this dialog, you are done.
Use these configuration options through the Developer Portal's Title Storage page: Add New File dialog or the Edit New File dialog. Both dialogs have the same configuration options.
Title Storage file configuration dialog
|File name||In this field, enter the file name to identify the file you want to upload. |
This is the file name that your game must query through the Title Storage Interface to retrieve the file.
If this is an existing file that you ship with your game, it must include the file name and path to the file. For more information on this, see the File Name Format section of the Title Storage Interface documentation.
|ADD NEW TAG||This is optional. You can use these tags to query the files that are tagged with them. For more information, see the Querying Multiple Files by Tag section of the Title Storage Interface documentation.|
Enter a single tag that identifies the file. Repeat this for each new tag that you want to add.
Note: Tags can only use alphanumeric ASCII characters and contain the symbols
|Tag dropdown||This option is only available if a tag already exists.|
Select a tag from the dropdown and check it to add it to a file or uncheck it to remove it from a file.