BeginProperty
Creates a wrapper enabling the Unity Editor to display GUI controls for the property.
Read time 4 minutesLast updated 5 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
BeginProperty(SerializedProperty)
Creates a wrapper enabling the Unity Editor to display GUI controls for the property.
public static void BeginProperty(SerializedProperty property)
Parameters
The property this GUI control modifies.
Remarks
The MaterialEditor has methods that display specific Material Properties such as MaterialEditor.ShaderProperty, or MaterialEditor.TextureProperty.
However, if you display a Property with a GUI control (such as EditorGUI.Toggle) instead of one of these methods, you can use a property wrapper to configure the visual presentation of this Property. Using a property wrapper enables you to display MaterialVariant overrides in a bold font, provide access to the Apply/Revert options via a right-click menu, disable the GUI for locked Properties, and set the appearance when editing multiple different values.
Property wrappers begin with BeginProperty and end with MaterialEditor.EndProperty. If you do not provide a rect parameter, the Editor tries to determine one by calling GUILayoutUtility.GetLastRect at the end of the scope.
If you use a custom method to display Material.renderQueue, Material.doubleSidedGI, Material.enableInstancing or Material.globalIlluminationFlags, you can create a property wrapper around the field by using the corresponding SerializedProperty.
Additional Resources: MaterialEditor.ShaderProperty, SerializedProperty, MaterialEditor.EndProperty.
BeginProperty(Rect, SerializedProperty)
Creates a wrapper enabling the Unity Editor to display GUI controls for the property.
public static void BeginProperty(Rect rect, SerializedProperty property)
Parameters
The box which encloses the GUI control. May include a label.
The property this GUI control modifies.
Remarks
The MaterialEditor has methods that display specific Material Properties such as MaterialEditor.ShaderProperty, or MaterialEditor.TextureProperty.
However, if you display a Property with a GUI control (such as EditorGUI.Toggle) instead of one of these methods, you can use a property wrapper to configure the visual presentation of this Property. Using a property wrapper enables you to display MaterialVariant overrides in a bold font, provide access to the Apply/Revert options via a right-click menu, disable the GUI for locked Properties, and set the appearance when editing multiple different values.
Property wrappers begin with BeginProperty and end with MaterialEditor.EndProperty. If you do not provide a rect parameter, the Editor tries to determine one by calling GUILayoutUtility.GetLastRect at the end of the scope.
If you use a custom method to display Material.renderQueue, Material.doubleSidedGI, Material.enableInstancing or Material.globalIlluminationFlags, you can create a property wrapper around the field by using the corresponding SerializedProperty.
Additional Resources: MaterialEditor.ShaderProperty, SerializedProperty, MaterialEditor.EndProperty.
BeginProperty(MaterialProperty)
Creates a wrapper enabling the Unity Editor to display GUI controls for the property.
public static void BeginProperty(MaterialProperty property)
Parameters
The property this GUI control modifies.
Remarks
The MaterialEditor has methods that display specific Material Properties such as MaterialEditor.ShaderProperty, or MaterialEditor.TextureProperty.
However, if you display a Property with a GUI control (such as EditorGUI.Toggle) instead of one of these methods, you can use a property wrapper to configure the visual presentation of this Property. Using a property wrapper enables you to display MaterialVariant overrides in a bold font, provide access to the Apply/Revert options via a right-click menu, disable the GUI for locked Properties, and set the appearance when editing multiple different values.
Property wrappers begin with BeginProperty and end with MaterialEditor.EndProperty. If you do not provide a rect parameter, the Editor tries to determine one by calling GUILayoutUtility.GetLastRect at the end of the scope.
If you use a custom method to display Material.renderQueue, Material.doubleSidedGI, Material.enableInstancing or Material.globalIlluminationFlags, you can create a property wrapper around the field by using the corresponding SerializedProperty.
Additional Resources: MaterialEditor.ShaderProperty, SerializedProperty, MaterialEditor.EndProperty.
BeginProperty(Rect, MaterialProperty)
Creates a wrapper enabling the Unity Editor to display GUI controls for the property.
public static void BeginProperty(Rect rect, MaterialProperty property)
Parameters
The box which encloses the GUI control. May include a label.
The property this GUI control modifies.
Remarks
The MaterialEditor has methods that display specific Material Properties such as MaterialEditor.ShaderProperty, or MaterialEditor.TextureProperty.
However, if you display a Property with a GUI control (such as EditorGUI.Toggle) instead of one of these methods, you can use a property wrapper to configure the visual presentation of this Property. Using a property wrapper enables you to display MaterialVariant overrides in a bold font, provide access to the Apply/Revert options via a right-click menu, disable the GUI for locked Properties, and set the appearance when editing multiple different values.
Property wrappers begin with BeginProperty and end with MaterialEditor.EndProperty. If you do not provide a rect parameter, the Editor tries to determine one by calling GUILayoutUtility.GetLastRect at the end of the scope.
If you use a custom method to display Material.renderQueue, Material.doubleSidedGI, Material.enableInstancing or Material.globalIlluminationFlags, you can create a property wrapper around the field by using the corresponding SerializedProperty.
Additional Resources: MaterialEditor.ShaderProperty, SerializedProperty, MaterialEditor.EndProperty.