Skip to content

Commit ba5bd2c

Browse files
committed
Document VDF files for bootstrapper and EAC on Steam
1 parent 3747fc2 commit ba5bd2c

1 file changed

Lines changed: 104 additions & 12 deletions

File tree

docs/setup/platforms/steam.mdx

Lines changed: 104 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ You can't use app ID 480 with the EOS SDK since authentication changed from encr
1919
Once you have the app ID from Steamworks, you need to specify it in the EOS backend so that it can be used:
2020

2121
1. Open the [Epic Online Services developer portal](https://dev.epicgames.com/portal/en-US/) and click on the product you are developing.
22-
3. Click "Product Settings".
23-
4. Under the "Identity Providers" tab, click "Add Identity Provider".
24-
5. Select "Steam" as the identity provider.
25-
6. Set the "Description" to any value you like.
26-
7. Leave "Encryption Key" empty. It is no longer used by Steam authentication and is not required to be set.
27-
8. You must set "SteamNetworkingIdentity" based on your Unreal Engine version:
28-
- If you are using Unreal Engine 5.4 or later (including preview builds), set it to "epiconlineservices", which should be the default value.
29-
- If you are using Unreal Engine 5.3 or earlier, set it **so that it is empty**. You will need to clear out the default value of "epiconlineservices".
30-
9. Set the "App ID" to the app ID of your Steamworks application.
31-
10. Click "Save & Exit".
32-
11. Under the "Environments" tab, click "Identity Providers" next to the Live sandbox.
33-
12. For Steam, select the new credential you just made.
22+
2. Click "Product Settings".
23+
3. Under the "Identity Providers" tab, click "Add Identity Provider".
24+
4. Select "Steam" as the identity provider.
25+
5. Set the "Description" to any value you like.
26+
6. Leave "Encryption Key" empty. It is no longer used by Steam authentication and is not required to be set.
27+
7. You must set "SteamNetworkingIdentity" based on your Unreal Engine version:
28+
- If you are using Unreal Engine 5.4 or later (including preview builds), set it to "epiconlineservices", which should be the default value.
29+
- If you are using Unreal Engine 5.3 or earlier, set it **so that it is empty**. You will need to clear out the default value of "epiconlineservices".
30+
8. Set the "App ID" to the app ID of your Steamworks application.
31+
9. Click "Save & Exit".
32+
10. Under the "Environments" tab, click "Identity Providers" next to the Live sandbox.
33+
11. For Steam, select the new credential you just made.
3434

3535
## Enable the Steam online subsystem in your game
3636

@@ -63,6 +63,7 @@ You can get a [client web API key here](https://steamcommunity.com/dev/apikey).
6363
Steam authentication only works in packaged builds (not in the editor). In addition, for non-development builds it will only work when the game is launched through Steam. These are limitations of the Steam online subsystem, not a limitation of the EOS plugin.
6464

6565
It has been reported that Steam authentication also works in the following situations:
66+
6667
- Right-clicking on the `.uproject` file and clicking "Launch Game".
6768
- Launching the game from Visual Studio in DebugGame configuration (not DebugGame Editor). This requires cooking game content.
6869

@@ -75,3 +76,94 @@ In each `.Target.cs` file (the main one, the `Editor` variant and if you have it
7576
```csharp
7677
ProjectDefinitions.Add("ONLINE_SUBSYSTEM_EOS_ENABLE_STEAM=1");
7778
```
79+
80+
## VDF files for bootstrapper and Anti-Cheat install
81+
82+
When deploying your game to Steam, you'll need to create a VDF file that describes how your game should be packaged and launched on the player's computer. Below is an example of a VDF file that installs the Unreal Engine prerequisites, the EOS bootstrapper (for Epic Games accounts) and the Easy Anti-Cheat service. You should omit entries if you're not using a particular feature (e.g. skip the Anti-Cheat sections if you haven't got Anti-Cheat enabled).
83+
84+
Make sure you replace `REPLACE_WITH_YOUR_APP_ID`, `REPLACE_WITH_YOUR_DEPOT_ID` and `REPLACE_WITH_PATH_TO_YOUR_BUILD_GAME` with the correct values for your game.
85+
86+
```txt title="steam_app.vdf"
87+
"appbuild"
88+
{
89+
"appid" "REPLACE_WITH_YOUR_APP_ID"
90+
"desc" ""
91+
"preview" "0"
92+
"setlive" ""
93+
"buildoutput" ".\Cache\"
94+
"contentroot" "REPLACE_WITH_PATH_TO_YOUR_BUILD_GAME"
95+
"depots"
96+
{
97+
"REPLACE_WITH_YOUR_DEPOT_ID" "steam_depot.vdf"
98+
}
99+
}
100+
```
101+
102+
```txt title="steam_depot.vdf"
103+
"DepotBuildConfig"
104+
{
105+
"DepotID" "REPLACE_WITH_YOUR_DEPOT_ID"
106+
"ContentRoot" "."
107+
"FileMapping"
108+
{
109+
"LocalPath" "*"
110+
"DepotPath" "."
111+
"recursive" "1"
112+
}
113+
"FileExclusion" "Manifest_*.txt"
114+
"FileExclusion" "*/Saved/*"
115+
"InstallScript" "Engine/Extras/steam_install_prereqs.vdf"
116+
}
117+
```
118+
119+
Unlike the first two files, which can reside anywhere you on your machine, the `steam_install_prereqs.vdf` file needs to be created inside your package game directory, under the `Engine/Extras` folder, so that the relative path matches the `InstallScript` directive inside `steam_depot.vdf`.
120+
121+
```txt title="<ProjectRoot>\Engine\Extras\steam_install_prereqs.vdf"
122+
"InstallScript"
123+
{
124+
"Firewall"
125+
{
126+
"Game - REPLACE_WITH_YOUR_DEPOT_ID" "%INSTALLDIR%\\$PackageTarget.exe"
127+
}
128+
"Run Process"
129+
{
130+
"Unreal Engine Prerequisites"
131+
{
132+
"HasRunKey" "HKEY_CLASSES_ROOT\\Installer\\Dependencies\\{4e242cc8-5e3c-4b08-9d55-dbc62ddd1208}"
133+
"Process 1" "%INSTALLDIR%\\Engine\\Extras\\Redist\\en-us\\UEPrereqSetup_x64.exe"
134+
"Command 1" "/quiet /norestart"
135+
"NoCleanUp" "1"
136+
}
137+
}
138+
"Run Process"
139+
{
140+
"EpicOnlineServices"
141+
{
142+
"HasRunKey" "HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\REPLACE_WITH_YOUR_APP_ID\\EOS"
143+
"Process 1" "%INSTALLDIR%\\InstallEOSServices.bat"
144+
}
145+
}
146+
"Run Process On Uninstall"
147+
{
148+
"EpicOnlineServices"
149+
{
150+
"Process 1" "%INSTALLDIR%\\UninstallEOSServices.bat"
151+
}
152+
}
153+
"Run Process"
154+
{
155+
"EpicOnlineServices"
156+
{
157+
"HasRunKey" "HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\REPLACE_WITH_YOUR_APP_ID\\EOS"
158+
"Process 1" "%INSTALLDIR%\\InstallAntiCheat.bat"
159+
}
160+
}
161+
"Run Process On Uninstall"
162+
{
163+
"EpicOnlineServices"
164+
{
165+
"Process 1" "%INSTALLDIR%\\UninstallAntiCheat.bat"
166+
}
167+
}
168+
}
169+
```

0 commit comments

Comments
 (0)