Use Unreal Unattended CRC
Overview
When you start the Unreal Engine or your Unreal Engine game, you can run command line arguments that tell the Unreal Engine to do or not do certain actions or events. One of these commands is the -unattended command.
You can use the -unattended command to enable a playing mode in which any action or event that needs feedback from the user is disabled. This enables AccelByte Development Toolkit (ADT) to still run and automatically send the crash data to the URL specified as the DataRouteURL in your DefaultEngine.ini file.
This guide shows you how to enable -unattended mode in the Crash Reporter Client (CRC).
Enable unattended mode in Crash Reporter
To enable the '-unattended` command in the Crash Reporter for your game, follow these steps:
- Add this section to the
DefaultEngine.inifile for your game.
[CrashReportClient]
bAgreeToCrashUpload=True
- Add this section into the
DefaultEditor.inifile for your game.
[/Script/UnrealEd.CrashReportsPrivacySettings]
bSendUnattendedBugReports=True
- Add
-unattendedargument to the command line parameter on your server management tool before launching the game server. For example:
MyGameServer.exe MyGameMap -unattended
Additional Steps for Unreal 5.1+
Follow these steps:
-
Go to
Engine/Config/Linuxdirectory and openLinuxEngine.inifile. -
Modify this configuration key to
true.
[CrashReportClient]
bAgreeToCrashUpload=True
Behavior on a Linux machine
The following table shows the behavior when you choose whether to start the CRC based on the DefaultEngine.ini setting for bSendUnattendedBugReports or bAgreeToCrashUpload and whether we are unattended.
| Unattended | AgreeToUpload | SendUnattendedBug | Start CRC |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 |
Bypass Unreal Engine Licensee Status
For Licensee Version of Unreal Engine, you must add the following Engine modification for Linux platform to force the engine to send the crash report regardless of the Licensee status.
-
Go to
Engine/Source/Runtime/Core/Private/Unix/Unixdirectory and open theUnixPlatformCrashContext.cppfile. -
Add this string to the file.
if (/*BuildSettings::IsLicenseeVersion()*/ false && !UE_EDITOR)
{
// do not send unattended reports in licensees' builds except for the editor, where it is governed by the above setting
bSendUnattendedBugReports = false;
bAgreeToCrashUpload = false;
bSendUsageData = false;
}