54 lines
2.2 KiB
C#
54 lines
2.2 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Rendering.Universal;
|
|
#if XR_MANAGEMENT_4_0_1_OR_NEWER
|
|
using UnityEditor.XR.Management;
|
|
#endif
|
|
|
|
namespace UnityEditor.Rendering.Universal
|
|
{
|
|
[CustomEditor(typeof(OnTilePostProcessFeature))]
|
|
internal class OnTilePostProcessFeatureEditor : Editor
|
|
{
|
|
#region Serialized Properties
|
|
private SerializedProperty m_UseFallbackProperty;
|
|
#endregion
|
|
|
|
static class Styles
|
|
{
|
|
public static readonly string k_NoSettingsHelpBox = L10n.Tr("This feature performs post-processing operation on tiled memory for Android based untethered XR platforms. There are currently no available settings, they might be added later.");
|
|
public static readonly string k_NonUntetheredXRBuildTarget = L10n.Tr("On Tile PostProcessing feature is not fully supported on the current build target. Please switch to an untethered XR platform as the build target, and enable XR provider through XR Plug-in management. The render feature would fallback to texture read mode(slow off-tile rendering)");
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
}
|
|
|
|
bool IsBuildTargetUntetheredXR()
|
|
{
|
|
bool isBuildTargetUntetheredXR = false;
|
|
#if XR_MANAGEMENT_4_0_1_OR_NEWER
|
|
var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
|
|
var buildTargetSettings = XRGeneralSettingsPerBuildTarget.XRGeneralSettingsForBuildTarget(buildTargetGroup);
|
|
if (buildTargetSettings != null && buildTargetSettings.AssignedSettings != null && buildTargetSettings.AssignedSettings.activeLoaders.Count > 0)
|
|
{
|
|
isBuildTargetUntetheredXR = buildTargetGroup == BuildTargetGroup.Android;
|
|
}
|
|
#endif
|
|
return isBuildTargetUntetheredXR;
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
if (!IsBuildTargetUntetheredXR())
|
|
{
|
|
EditorGUILayout.HelpBox(
|
|
Styles.k_NonUntetheredXRBuildTarget,
|
|
MessageType.Error
|
|
);
|
|
}
|
|
|
|
EditorGUILayout.HelpBox(Styles.k_NoSettingsHelpBox, MessageType.Info);
|
|
}
|
|
}
|
|
}
|