# MultiPropertyField

> Makes a multi-control with several property fields in the same line.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.5/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

## MultiPropertyField(Rect, GUIContent\[], SerializedProperty, GUIContent)

Makes a multi-control with several property fields in the same line.

```csharp
public static void MultiPropertyField(Rect position, GUIContent[] subLabels, SerializedProperty valuesIterator, GUIContent label)
```

### Parameters

**** (\[Rect]\(/engine/6000.5/script-reference/unityengine/rect)): Rectangle on the screen to use for the multi-property field.**** (\[GUIContent\[]]\(/engine/6000.5/script-reference/unityengine/guicontent)): Array with small labels to show in front of each float field. There is room for one letter per field only.**** (\[SerializedProperty]\(/engine/6000.5/script-reference/unityeditor/serializedproperty)): The SerializedProperty of the first property to make a control for.**** (\[GUIContent]\(/engine/6000.5/script-reference/unityengine/guicontent)): Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.

### Remarks

The array of labels determine how many properties are shown. No more than 4 properties should be used. The displayed SerializedProperties must be consecutive. The one provided in the valuesIterator argument should be the first of them.

## MultiPropertyField(Rect, GUIContent\[], SerializedProperty, GUIContent, PropertyVisibility)

Makes a multi-control with several property fields in the same line.

```csharp
public static void MultiPropertyField(Rect position, GUIContent[] subLabels, SerializedProperty valuesIterator, GUIContent label, EditorGUI.PropertyVisibility visibility)
```

### Parameters

**** (\[Rect]\(/engine/6000.5/script-reference/unityengine/rect)): Rectangle on the screen to use for the multi-property field.**** (\[GUIContent\[]]\(/engine/6000.5/script-reference/unityengine/guicontent)): Array with small labels to show in front of each float field. There is room for one letter per field only.**** (\[SerializedProperty]\(/engine/6000.5/script-reference/unityeditor/serializedproperty)): The SerializedProperty of the first property to make a control for.**** (\[GUIContent]\(/engine/6000.5/script-reference/unityengine/guicontent)): Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.**** (\[PropertyVisibility]\(/engine/6000.5/script-reference/unityeditor/editorgui/propertyvisibility)): Each SerializedProperty during iteration must have this visibility to be drawn. Use [EditorGUI.PropertyVisibility.All](/engine/6000.5/script-reference/unityeditor/editorgui/propertyvisibility/all.md) to draw all SerializedProperties, regardless of its actual visibility.

### Remarks

The array of labels determine how many properties are shown. No more than 4 properties should be used. The displayed SerializedProperties must be consecutive. The one provided in the valuesIterator argument should be the first of them.

## MultiPropertyField(Rect, GUIContent\[], SerializedProperty)

Makes a multi-control with several property fields in the same line.

```csharp
public static void MultiPropertyField(Rect position, GUIContent[] subLabels, SerializedProperty valuesIterator)
```

### Parameters

**** (\[Rect]\(/engine/6000.5/script-reference/unityengine/rect)): Rectangle on the screen to use for the multi-property field.**** (\[GUIContent\[]]\(/engine/6000.5/script-reference/unityengine/guicontent)): Array with small labels to show in front of each float field. There is room for one letter per field only.**** (\[SerializedProperty]\(/engine/6000.5/script-reference/unityeditor/serializedproperty)): The SerializedProperty of the first property to make a control for.

### Remarks

The array of labels determine how many properties are shown. No more than 4 properties should be used. The displayed SerializedProperties must be consecutive. The one provided in the valuesIterator argument should be the first of them.

## MultiPropertyField(Rect, GUIContent\[], SerializedProperty, PropertyVisibility)

Makes a multi-control with several property fields in the same line.

```csharp
public static void MultiPropertyField(Rect position, GUIContent[] subLabels, SerializedProperty valuesIterator, EditorGUI.PropertyVisibility visibility)
```

### Parameters

**** (\[Rect]\(/engine/6000.5/script-reference/unityengine/rect)): Rectangle on the screen to use for the multi-property field.**** (\[GUIContent\[]]\(/engine/6000.5/script-reference/unityengine/guicontent)): Array with small labels to show in front of each float field. There is room for one letter per field only.**** (\[SerializedProperty]\(/engine/6000.5/script-reference/unityeditor/serializedproperty)): The SerializedProperty of the first property to make a control for.**** (\[PropertyVisibility]\(/engine/6000.5/script-reference/unityeditor/editorgui/propertyvisibility)): Each SerializedProperty during iteration must have this visibility to be drawn. Use [EditorGUI.PropertyVisibility.All](/engine/6000.5/script-reference/unityeditor/editorgui/propertyvisibility/all.md) to draw all SerializedProperties, regardless of its actual visibility.

### Remarks

The array of labels determine how many properties are shown. No more than 4 properties should be used. The displayed SerializedProperties must be consecutive. The one provided in the valuesIterator argument should be the first of them.
