Build Pipelines
XRBuildKit provides automated, one-click build pipelines for any XR device or platform you have configured. This reduces human error, eliminates tedious manual setup, and ensures consistent, reproducible builds.
What is the Build Pipeline?
A build pipeline in XRBuildKit is a combination of:
Device Preset Selection Ensures all project, XR, and platform settings are correctly restored for the target device.
Scene Management Configure which Unity scenes are included in the build via the builder UI.
Build Options Development Mode, Clean Build, and scripting define symbols.
Automated Platform Configuration
For Android: Configures Gradle templates, manifest files, and plugin .meta files (via
PluginConfigurator
).Ensures platform-specific backends are applied (
BuildUtility.SetScriptingBackend
).
How to Build Your App
Open the Builder Window Go to XRBuildKit → Build → XR Builder - Offline. The
XRBuilderWindow
provides an editor UI for presets, scenes, and build options.Select the Target Device Preset Choose your preset from the dropdown list. Load it to restore correct settings before building.
Review Scenes and Options
Enable the required scenes.
Toggle Development Mode or Clean Build.
Click Configure & Build XRBuildKit automatically:
Sets active build scenes.
Applies Android/XREAL plugin configuration if required.
Executes the Unity build pipeline with proper defines and options.
Saves output to the build folder.
Build Output Structure
By default, builds are saved to:
Builds/App/Offline/<DeviceName>/
Filename and extension depend on target platform (via
BuildUtility.GetFileName
):Windows:
.exe
Linux:
.x
Android:
.apk
VisionOS: project folder only
Example: Builds/App/Offline/Quest3/Quest3.apk
API Example: Offline Build Execution
All functions are static and can be scripted for automation (CI/CD, menu items, etc.):
using XRBuildKit.Editor.App;
using XRBuildKit.Editor.Utility;
// Open XRBuilderWindow from code
XRBuilderWindow.ShowWindow();
// Run build manually with preset and options
XRSettingsUtility.LoadPreset("Quest3", "Android");
BuildPipeline.BuildPlayer(
new BuildPlayerOptions
{
scenes = new[] { "Assets/Scenes/Main.unity" },
locationPathName = BuildUtility.GetBuildPath("Builds/App/Offline/Quest3", "Quest3", BuildTarget.Android),
target = BuildTarget.Android,
options = BuildUtility.GetBuildOptions(false, true, true)
});
Tips & Best Practices
Always use Clean Build after switching Device Presets to avoid stale plugin conflicts.
Close Project Settings window before loading presets to prevent Unity UI conflicts.
Commit builds separately – keep presets/version control clean by excluding build folders.
Automate in CI/CD – XRBuildKit’s static API works in custom scripts for Jenkins, GitHub Actions, etc.
Related Guides
🚀 XRBuildKit’s build pipeline lets you focus on XR content—not repetitive setup.
Last updated