public override void OnInspectorGUI() { float outFloat = 0; int outInt = 0; Crusher component = (Crusher)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.IntSlider(component.BitDepth, 1, 32, "Bit Depth", "Precision of audio samples. Less precision is more distorted.", out outInt)) { InspectorUtils.RecordObject(component, inspectorName + " - Bit Depth"); component.BitDepth = outInt; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSliderExponential(component.SampleRate, 0.001f, 1, "Sample Rate", "Sample rate effects the resolution of the sound. Smaller value increases grittiness.", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Sample Rate"); component.SampleRate = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; RingModulator component = (RingModulator)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSliderExponential(component.CarrierFrequency, 20f, 5000, "Carrier Frequency", "Speed of oscillation measured in hertz (oscillations per second)", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Rate"); component.CarrierFrequency = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Gate component = (Gate)target; MAX_inputGain *= 0.95f; MAX_outputGain *= 0.95f; MAX_gateState *= 0.95f; MAX_inputGain = MAX_inputGain > component.MAX_inputGain ? MAX_inputGain : component.MAX_inputGain; MAX_outputGain = MAX_outputGain > component.MAX_outputGain ? MAX_outputGain : component.MAX_outputGain; MAX_gateState = MAX_gateState > component.MAX_gateState ? MAX_gateState : component.MAX_gateState; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.InputGain, 0, 3, "Input Gain", "Volume going into device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Input Gain"); component.InputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_inputGain); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Threshold, 0, 1, "Threshold", "Volume at which gate is triggered", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Threshold"); component.Threshold = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Attack, 0, 1, "Attack", "How quickly the gate opens", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Attack"); component.Attack = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Release, 0, 1, "Release", "How quickly the gate closes", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Released"); component.Release = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_gateState); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.OutputGain, 0, 5, "Output Gain", "Volume going out of the device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Output Gain"); component.OutputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_outputGain); } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Flanger component = (Flanger)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Rate, 0.1f, 8, "Rate", "Speed of oscillation measured in hertz (oscillations per second)", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Rate"); component.Rate = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Intensity, 0.1f, 0.9f, "Intensity", "Severity of the flange effect", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Intensity"); component.Intensity = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Reverb component = (Reverb)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.ReverbTime, 0.5f, 10, "Reverb Time", "Duration of reverbations", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Reverb Time"); component.ReverbTime = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.ReverbGain, 0.5f, 5, "Reverb Gain", "Volume of reverberations", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Reverb Gain"); component.ReverbGain = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; int outInt = 0; SimpleDelay component = (SimpleDelay)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.IntSlider(component.DelayLengthMS, 10, 3000, "Delay Length (ms)", "Offset of the delayed signal measured in milliseconds", out outInt)) { InspectorUtils.RecordObject(component, inspectorName + " - Delay Length"); component.DelayLengthMS = outInt; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.DecayLength, 0.1f, 1, "Decay Length", "Length of signal decay", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Slope"); component.DecayLength = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; FoldbackDistortion component = (FoldbackDistortion)target; MAX_inputGain *= 0.95f; MAX_outputGain *= 0.95f; MAX_inputGain = MAX_inputGain > component.MAX_inputGain ? MAX_inputGain : component.MAX_inputGain; MAX_outputGain = MAX_outputGain > component.MAX_outputGain ? MAX_outputGain : component.MAX_outputGain; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.InputGain, 0, 3, "Input Gain", "Volume going into device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Input Gain"); component.InputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_inputGain); if (InspectorUtils.FloatSlider(component.SoftDistortAmount, 0, 1, "Soft Distort Amount", "Amount of distortion applied to the whole signal", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Soft Distort Amount"); component.SoftDistortAmount = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Threshold, 0, 1, "Threshold", "Volume at which distortion is triggered", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Threshold"); component.Threshold = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.DistortAmount, 0.0001f, 1, "Distort Amount", "Amount of distortion applied starting at threshold", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Distort Amount"); component.DistortAmount = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.OutputGain, 0, 5, "Output Gain", "Volume going out of the device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Output Gain"); component.OutputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_outputGain); } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; int outInt = 0; Delay component = (Delay)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.BPM, 40, 300, "BPM", "Beats Per Minute of audio track", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - BPM"); component.BPM = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.IntSlider(component.DelayCount, 1, 8, "Delay Count", "How many beats (measured in Delay Units) to delay track", out outInt)) { InspectorUtils.RecordObject(component, inspectorName + " - Delay Count"); component.DelayCount = outInt; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.IntSlider(component.DelayUnit, 1, 32, "Delay Unit", "Size Delay Units - larger number results in smaller units", out outInt)) { InspectorUtils.RecordObject(component, inspectorName + " - Delay Unit"); component.DelayUnit = outInt; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Pan, -1, 1, "Pan", "Pan direction of delayed tracks - Ranges from -1 (left) to 1 (right). A value of 0 is centered.", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - BPM"); component.Pan = outFloat; EditorGUIUtility.ExitGUI(); } component.PingPong = GUILayout.Toggle(component.PingPong, new GUIContent("Ping Pong", "Determines whether panning stays in one direction or bounces back and forth between speaker channels.")); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DecayLength, 0.1f, 1, "Decay Length", "How long the delay persists", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Decay Length"); component.DecayLength = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.DryWet, 0, 1, "Dry/Wet", "Dry/Wet ratio", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry/Wet"); component.DryWet = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; StereoWidener component = (StereoWidener)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Width, 0, 2, "Width", "Amount spread throughout the stereo field. 0 is mono, 1 is normal stereo, 2 is extra wide", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Width"); component.Width = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; PanControl component = (PanControl)target; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.PanAmount, -1, 1, "Pan Amount", "Values range from -1 (left) to 1 (right). A value of 0 is centered.", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Pan Amount"); component.PanAmount = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Saturator component = (Saturator)target; MAX_inputGain *= 0.95f; MAX_inputGain = MAX_inputGain > component.MAX_inputGain ? MAX_inputGain : component.MAX_inputGain; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.InputGain, 0, 3, "Input Gain", "Volume going into device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Input Gain"); component.InputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_inputGain); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Threshold, 0, 1, "Threshold", "Volume at which saturation is triggered", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Threshold"); component.Threshold = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Amount, 0.0001f, 1, "Amount", "The amount of saturation applied to the audio source.", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Amount"); component.Amount = outFloat; EditorGUIUtility.ExitGUI(); } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Fader component = (Fader)target; MAX_gain *= 0.95f; MAX_gain = MAX_gain > component.MAX_gain ? MAX_gain : component.MAX_gain; GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Gain, 0, 3, "Gain", "Gain control for device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Gain"); component.Gain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_gain); component.Mute = GUILayout.Toggle(component.Mute, new GUIContent("Mute", "Toggle track on and off")); } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; StateVariableFilter component = (StateVariableFilter)target; GUILayout.BeginVertical("Box"); { FilterState currentFilter = component.Filter; FilterState newFilter = (FilterState)EditorGUILayout.EnumPopup(new GUIContent("Filter State", "Hi Band,low band, etc"), component.Filter); if (currentFilter != newFilter) { InspectorUtils.RecordObject(component, inspectorName + " - Filter State"); component.Filter = newFilter; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSliderExponential(component.Frequency, 60, 12000, "Frequency", "Frequency of Filter", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Frequency"); component.Frequency = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Resonance, 0, 1, "Resonance (Q)", "Resonance (Q) of filter", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Resonance"); component.Resonance = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Drive, 0, 0.1f, "Drive", "Filter drive", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Drive"); component.Drive = outFloat; EditorGUIUtility.ExitGUI(); } bool isAdditive = false; switch (newFilter) { case FilterState.BandAdd: case FilterState.LowShelf: case FilterState.HighShelf: isAdditive = true; break; default: isAdditive = false; break; } if (isAdditive) { if (InspectorUtils.FloatSlider(component.AdditiveGain, -1, 1, "Additive Gain", "Amount of selected frequency band to add to original signal", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Additive Gain"); component.AdditiveGain = outFloat; EditorGUIUtility.ExitGUI(); } } } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }
public override void OnInspectorGUI() { float outFloat = 0; Compressor component = (Compressor)target; MAX_inputGain *= 0.95f; MAX_compressedGain *= 0.95f; MAX_dryGain *= 0.95f; MAX_outputGain *= 0.95f; MAX_gainReduction *= 0.95f; MAX_inputGain = Mathf.Max(MAX_inputGain, component.MAX_inputGain); MAX_compressedGain = Mathf.Max(MAX_compressedGain, component.MAX_compressedGain); MAX_dryGain = Mathf.Max(MAX_dryGain, component.MAX_dryGain); MAX_outputGain = Mathf.Max(MAX_outputGain, component.MAX_outputGain); MAX_gainReduction = Mathf.Max(MAX_gainReduction, component.MAX_gainReduction); GUILayout.Label(component.envelope.attackCoeff.ToString()); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.InputGain, 0, 3, "Input Gain", "Volume going into device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Input Gain"); component.InputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_inputGain); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.Threshold, 0, 1, "Threshold", "Volume at which compression is triggered", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Threshold"); component.Threshold = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Slope, 0, 2, "Slope", "Amount of compression", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Slope"); component.Slope = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Attack, 0, 1, "Attack", "How quickly the component impacts sound", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Attack"); component.Attack = outFloat; EditorGUIUtility.ExitGUI(); } if (InspectorUtils.FloatSlider(component.Release, 0, 1, "Release", "How quickly the audio returns to normal", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Released"); component.Release = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(1 - MAX_gainReduction); } GUILayout.EndVertical(); GUILayout.BeginVertical("Box"); { if (InspectorUtils.FloatSlider(component.DryGain, 0, 5, "Dry Gain", "Amount of the dry signal into mix", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Dry Gain"); component.DryGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_dryGain); if (InspectorUtils.FloatSlider(component.CompressedGain, 0, 5, "Compressed Gain", "Amount of the compressed signal into mix", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Compressed Gain"); component.CompressedGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_compressedGain); if (InspectorUtils.FloatSlider(component.OutputGain, 0, 5, "Output Gain", "Volume going out of the device", out outFloat)) { InspectorUtils.RecordObject(component, inspectorName + " - Output Gain"); component.OutputGain = outFloat; EditorGUIUtility.ExitGUI(); } InspectorUtils.VolumeMeter(MAX_outputGain); } GUILayout.EndVertical(); component.runEffectInEditMode = GUILayout.Toggle(component.runEffectInEditMode, new GUIContent("Run Effect In Edit Mode (" + component.runTime.ToString() + " ms)", "Enable/disable component when the editor is not playing.\nEnable to reduce CPU usage")); Repaint(); }