1) What is Stored in a Device Presets?

2. What is Stored in a Device Preset?

A Device Preset in XRBuildKit captures all the critical settings and configuration files needed to build your Unity project for a specific XR device or platform.

When you save a device preset, XRBuildKit takes a complete snapshot of the following:

Preset Contents Overview

Category
Description
Example Location

Project Settings

Main Unity ProjectSettings.asset file, including Player and Build

ProjectSettings/ProjectSettings.asset

XR Package Settings

XR plugin settings, loader config, feature toggles

ProjectSettings/XRPackageSettings.asset ProjectSettings/XRSettings.asset

XR Assets

All files under your XR setup directory

Assets/XR/

Android Plugin Assets

(Android only) Manifest, Gradle files, native plugins

Assets/Plugins/Android/

Note: Not every preset includes Android assets; they are only saved if the platform is Android.


Detailed Breakdown

1. Project Settings

  • Player Settings

    • Bundle Identifier

    • Graphics APIs

    • Scripting Backend (IL2CPP, Mono, etc.)

    • Build Options (development mode, clean build, etc.)

  • Build Settings

    • Scenes to include in the build

2. XR Package and Loader Settings

  • XR Plug-in Management

    • Which XR loader is enabled (OpenXR, Oculus, XREAL, etc.)

    • Loader-specific features and toggles

  • XRSettings.asset

    • (Legacy) XR configuration if used

3. XR Asset Folders

  • All files under Assets/XR/

    • Custom XR resources, settings, or required Unity assets

    • Ensures your device preset always restores the full XR folder tree

4. Android Plugin Assets (Android-only)

If your target device is Android, XRBuildKit also saves and restores:

  • AndroidManifest.xml

  • Gradle templates (mainTemplate.gradle, gradleTemplate.properties)

  • Native plugins, AAR files, .so libraries from Assets/Plugins/Android/


Why is this Important?

Saving all of these files ensures that:

  • Switching presets is safe—no settings or plugins are lost or left in an invalid state.

  • You can reliably restore your project to a known-good configuration for any device/platform.

  • You avoid conflicts that often happen when switching between XR SDKs in Unity.

Last updated