unity/Assets/PostProcessingV2/Editor/PostProcessEffectEditor.cs (20 lines of code) (raw):

using System; using System.Linq.Expressions; using UnityEngine.Rendering.PostProcessing; namespace UnityEditor.Rendering.PostProcessing { public class PostProcessEffectEditor<T> : PostProcessEffectBaseEditor where T : PostProcessEffectSettings { protected SerializedProperty FindProperty<TValue>(Expression<Func<T, TValue>> expr) { return serializedObject.FindProperty(RuntimeUtilities.GetFieldPath(expr)); } protected SerializedParameterOverride FindParameterOverride<TValue>(Expression<Func<T, TValue>> expr) { var property = serializedObject.FindProperty(RuntimeUtilities.GetFieldPath(expr)); var attributes = RuntimeUtilities.GetMemberAttributes(expr); return new SerializedParameterOverride(property, attributes); } } }