using JetBrains.Annotations; namespace UnityEditor.Recorder { /// /// Options class for the Recorder /// public static class RecorderOptions { const string k_ShowLegacyModeMenuItem = RecorderWindow.MenuRoot + "Options/Show Legacy Recorders"; const string k_RecorderPanelWidth = RecorderWindow.MenuRoot + "Options/Recorder Panel Width"; const string k_SelectedRecorderIndex = RecorderWindow.MenuRoot + "Options/Selected Recorder Index"; /// /// If true, the recorder will log additional recording steps into the Console. /// public static bool VerboseMode { get => RecorderPreferencesSettings.Instance.VerboseMode; set => RecorderPreferencesSettings.Instance.VerboseMode = value; } /// /// The recorder uses a "Unity-RecorderSessions" GameObject to store Scene references and manage recording sessions. /// If true, this GameObject will be visible in the Scene Hierarchy. /// public static bool ShowRecorderGameObject { get => RecorderPreferencesSettings.Instance.ShowGO; set { RecorderPreferencesSettings.Instance.ShowGO = value; } } internal static float recorderPanelWidth { get { return EditorPrefs.GetFloat(k_RecorderPanelWidth, 0); } set { EditorPrefs.SetFloat(k_RecorderPanelWidth, value); } } internal static int selectedRecorderIndex { get { return EditorPrefs.GetInt(k_SelectedRecorderIndex, 0); } set { EditorPrefs.SetInt(k_SelectedRecorderIndex, value); } } } [UsedImplicitly] static class Options { // This variable is used to select how we capture the final image from the // render pipeline, with the legacy render pipeline this variable is set to false // with the scriptable render pipeline the CameraCaptureBride // inside the SRP will reflection to set this variable to true, this will in turn // enable using the CameraInput inputStrategy CaptureCallbackInputStrategy // // This variable is set through reflection by SRP. Everything is matching very strictly: all flags are mandatory as well as the name. public static bool useCameraCaptureCallbacks = false; } }