void OnEnable()
        {
            if (target == null)
            {
                return;
            }

            var preset = (RecorderControllerSettingsPreset)target;

            m_Editor = CreateEditor(preset.model);

            m_RecordersEditors.Clear();

            var recorderPresets = preset.recorderPresets;

            foreach (var p in recorderPresets)
            {
                var state = new PresetEditorState
                {
                    presetEditor = CreateEditor(p),
                    expanded     = false
                };

                m_RecordersEditors.Add(state);
            }
        }
        static bool FoldoutPresetEditorStateHeader(PresetEditorState state)
        {
            var r = EditorGUILayout.GetControlRect();

            state.expanded = EditorGUI.Foldout(r, state.expanded, state.presetEditor.target.name);

            return(state.expanded);
        }