| name | ue-build |
| description | Build the SentryPlayground sample project for a target platform |
Build the SentryPlayground sample project.
-
Check the UNREAL_ENGINE_ROOT environment variable (use PowerShell .NET method on Windows: [System.Environment]::GetEnvironmentVariable('UNREAL_ENGINE_ROOT')). If unset or the path doesn't exist, ask the user for the engine path.
-
Choose the build mode from conversation context:
- Compile-only (default) - when the goal is verifying that code compiles after changes, or as a prerequisite for
/ue-unit-test. Invokes UnrealBuildTool directly and is much faster than a full package.
- Full package - when the user wants a packaged, runnable game build (e.g. as a prerequisite for
/ue-integration-test, or if they mention packaging/cooking/distribution).
-
Determine the target platform from conversation context using this lookup table. If no platform is mentioned, default to the host platform (Win64 on Windows, Mac on macOS, Linux on Linux). If ambiguous, ask the user.
| Alias | Platform flag |
|---|
| Win64, Windows | Win64 |
| Mac, macOS | Mac |
| Android | Android |
| iOS | IOS |
| Linux | Linux |
| LinuxArm64 | LinuxArm64 |
| XSX, Xbox Series | XSX |
| XB1, Xbox One | XB1 |
| PS5, PlayStation | PS5 |
| Switch, NX | Switch |
-
Determine the build configuration: use Development by default, or Shipping if the user mentions it.
Compile-only build
Resolve the repo root and invoke UnrealBuildTool with the editor target for the host platform:
REPO=$(git rev-parse --show-toplevel)
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/Build.bat" SentryPlaygroundEditor Win64 Development \
-project="$REPO/sample/SentryPlayground.uproject" -waitmutex
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/Mac/Build.sh" SentryPlaygroundEditor Mac Development \
-project="$REPO/sample/SentryPlayground.uproject" -waitmutex
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/Linux/Build.sh" SentryPlaygroundEditor Linux Development \
-project="$REPO/sample/SentryPlayground.uproject" -waitmutex
To compile-check a non-host or non-editor platform (e.g. Android, iOS, consoles), build the game target instead, substituting the platform and configuration: SentryPlayground <Platform> <Config>.
Full package build
Resolve the repo root and run the BuildCookRun command:
REPO=$(git rev-parse --show-toplevel)
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/RunUAT.bat" BuildCookRun \
-project="$REPO/sample/SentryPlayground.uproject" \
-archivedirectory="$REPO/sample/dist" \
-platform=Win64 -clientconfig=Development \
-build -cook -stage -package -archive -nop4
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/RunUAT.sh" BuildCookRun \
-project="$REPO/sample/SentryPlayground.uproject" \
-archivedirectory="$REPO/sample/dist" \
-platform=Mac -clientconfig=Development \
-build -cook -stage -package -archive -nop4
"$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/RunUAT.sh" BuildCookRun \
-project="$REPO/sample/SentryPlayground.uproject" \
-archivedirectory="$REPO/sample/dist" \
-platform=Linux -clientconfig=Development \
-build -cook -stage -package -archive -nop4
Substitute the platform and config values as determined above.
For Android Shipping builds, add the -distribution flag.
Execution notes
- Builds regularly take longer than the default command timeout. Run the build command in the background and monitor its output, or raise the timeout accordingly.
- On failure, check the logs for the root cause:
- UnrealBuildTool:
$UNREAL_ENGINE_ROOT/Engine/Programs/UnrealBuildTool/Log.txt
- UAT (BuildCookRun):
$UNREAL_ENGINE_ROOT/Engine/Programs/AutomationTool/Saved/Logs/