docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class VolumeComponentEditor

    A custom editor class that draws a VolumeComponent in the Inspector. If you do not provide a custom editor for a VolumeComponent, Unity uses the default one. You must use a CustomEditor to let the editor know which component this drawer is for.

    Inheritance
    object
    Object
    ScriptableObject
    Editor
    VolumeComponentEditor
    Inherited Members
    Editor.SaveChanges()
    Editor.DiscardChanges()
    Editor.CreateEditorWithContext(Object[], Object, Type)
    Editor.CreateEditorWithContext(Object[], Object)
    Editor.CreateCachedEditorWithContext(Object, Object, Type, ref Editor)
    Editor.CreateCachedEditorWithContext(Object[], Object, Type, ref Editor)
    Editor.CreateCachedEditor(Object, Type, ref Editor)
    Editor.CreateCachedEditor(Object[], Type, ref Editor)
    Editor.CreateEditor(Object)
    Editor.CreateEditor(Object, Type)
    Editor.CreateEditor(Object[])
    Editor.CreateEditor(Object[], Type)
    Editor.DrawPropertiesExcluding(SerializedObject, params string[])
    Editor.DrawDefaultInspector()
    Editor.CreateInspectorGUI()
    Editor.RequiresConstantRepaint()
    Editor.DrawHeader()
    Editor.OnHeaderGUI()
    Editor.ShouldHideOpenButton()
    Editor.DrawFoldoutInspector(Object, ref Editor)
    Editor.HasPreviewGUI()
    Editor.GetPreviewTitle()
    Editor.RenderStaticPreview(string, Object[], int, int)
    Editor.OnPreviewGUI(Rect, GUIStyle)
    Editor.OnInteractivePreviewGUI(Rect, GUIStyle)
    Editor.OnPreviewSettings()
    Editor.GetInfoString()
    Editor.DrawPreview(Rect)
    Editor.ReloadPreviewInstances()
    Editor.UseDefaultMargins()
    Editor.MoveNextTarget()
    Editor.ResetTarget()
    Editor.hasUnsavedChanges
    Editor.saveChangesMessage
    Editor.target
    Editor.targets
    Editor.serializedObject
    Editor.finishedDefaultHeaderGUI
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEditor.Rendering
    Assembly: Unity.RenderPipelines.Core.Editor.dll
    Syntax
    [CustomEditor(typeof(VolumeComponent), true)]
    public class VolumeComponentEditor : Editor
    Examples

    Below is an example of a custom VolumeComponent:

    using UnityEngine.Rendering;
    
    [Serializable, VolumeComponentMenu("Custom/Example Component")]
    public class ExampleComponent : VolumeComponent
    {
        public ClampedFloatParameter intensity = new ClampedFloatParameter(0f, 0f, 1f);
    }

    And its associated editor:

    using UnityEditor.Rendering;
    
    [CustomEditor(typeof(ExampleComponent))]
    class ExampleComponentEditor : VolumeComponentEditor
    {
        SerializedDataParameter m_Intensity;
    
        public override void OnEnable()
        {
            var o = new PropertyFetcher<ExampleComponent>(serializedObject);
            m_Intensity = Unpack(o.Find(x => x.intensity));
        }
    
        public override void OnInspectorGUI()
        {
            PropertyField(m_Intensity);
        }
    }

    Fields

    Name Description
    m_Inspector

    A reference to the parent editor in the Inspector.

    Properties

    Name Description
    activeProperty

    The serialized property of active for the component being inspected.

    baseProperty

    The copy of the serialized property of the VolumeComponent being inspected. Unity uses this to track whether the editor is collapsed in the Inspector or not.

    expanded

    If the editor for this VolumeComponent is expanded or not in the inspector

    hasAdditionalProperties

    Override this property if your editor makes use of the "Additional Properties" feature.

    showAdditionalProperties

    Set to true to show additional properties.

    volume

    Obtains the Volume that is being edited from this volume component

    volumeComponent

    Specifies the VolumeComponent this editor is drawing.

    Methods

    Name Description
    BeginAdditionalPropertiesScope()

    Start a scope for additional properties. This will handle the highlight of the background when toggled on and off.

    DrawHeader(string)

    Draws a header into the inspector with the given title

    DrawOverrideCheckbox(SerializedDataParameter)

    Draws the override checkbox used by a property in the editor.

    EndAdditionalPropertiesScope()

    End a scope for additional properties.

    GetDisplayTitle()

    Sets the label for the component header. Override this method to provide a custom label. If you don't, Unity automatically obtains one from the class name.

    OnDisable()

    Unity calls this method when the object goes out of scope.

    OnEnable()

    Unity calls this method when the object loads.

    OnInspectorGUI()

    Unity calls this method each time it re-draws the Inspector.

    PropertyField(SerializedDataParameter)

    Draws a given SerializedDataParameter in the editor.

    PropertyField(SerializedDataParameter, GUIContent)

    Draws a given SerializedDataParameter in the editor using a custom label and tooltip.

    Repaint()

    Triggers an Inspector repaint event.

    Unpack(SerializedProperty)

    Generates and auto-populates a SerializedDataParameter from a serialized VolumeParameter<T>.

    Extension Methods

    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, bool)

    See Also

    CustomEditor
    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)