#if ENABLE_CLOUD_SERVICES_ANALYTICS || UNITY_2023_2_OR_NEWER
using System;
using UnityEngine;
namespace UnityEditor.XR.Interaction.Toolkit.Analytics
{
///
/// OpenXR package project settings data for the analytics payload.
///
[Serializable]
struct OpenXRProjectSettingsData
{
///
/// Whether OpenXR is enabled in the XR Plug-in Management and thus whether this data is valid to use.
///
[SerializeField]
public bool valid;
///
/// The selected Render Mode.
/// UnityEngine.XR.OpenXR.OpenXRSettings.RenderMode enum as an int.
/// 0 = MultiPass
/// 1 = SinglePassInstanced
///
[SerializeField]
public int renderMode;
///
/// The number of Enabled Interaction Profiles that are defined by Unity.
/// These are types derived from OpenXRInteractionFeature.
///
[SerializeField]
public int unityInteractionFeaturesCount;
///
/// The number of enabled OpenXR features, excluding Interaction Profiles, that are defined by Unity.
/// These are types derived from OpenXRFeature.
///
[SerializeField]
public int unityFeaturesCount;
///
/// The number of Enabled Interaction Profiles that are custom, i.e. not defined by Unity.
/// These are types derived from OpenXRInteractionFeature.
///
[SerializeField]
public int customInteractionFeaturesCount;
///
/// The number of enabled OpenXR features, excluding Interaction Profiles, that are custom, i.e. not defined by Unity.
/// These are types derived from OpenXRFeature.
///
[SerializeField]
public int customFeaturesCount;
///
/// The string identifiers of Enabled Interaction Profiles that are defined by Unity.
///
[SerializeField]
public string[] unityInteractionFeatures;
///
/// The string identifiers of enabled OpenXR features, excluding Interaction Profiles, that are defined by Unity.
///
[SerializeField]
public string[] unityFeatures;
}
}
#endif