# FillDefaultInspector

> Adds default inspector property fields under a container VisualElement.

## Definition

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

## FillDefaultInspector(VisualElement, SerializedObject, Editor)

Adds default inspector property fields under a container VisualElement.

```csharp
public static void FillDefaultInspector(VisualElement container, SerializedObject serializedObject, Editor editor)
```

### Parameters

**** (\[VisualElement]\(/engine/6000.6/script-reference/unityengine/uielements/visualelement)): The parent VisualElement**** (\[SerializedObject]\(/engine/6000.6/script-reference/unityeditor/serializedobject)): The SerializedObject to inspect**** (\[Editor]\(/engine/6000.6/script-reference/unityeditor/editor)): The editor currently used

### Remarks

The following example shows how to fill a container with default inspector fields. For a complete example, refer to Create a default Inspector.

### Examples

```csharp
using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

[CreateAssetMenu]
public class MyEditorData : ScriptableObject
{
    public string myString;
    public float myFloat;
    public string myInt;
}

[CustomEditor(typeof(MyEditorData))]
public class MyEditor : UnityEditor.Editor
{
    public override VisualElement CreateInspectorGUI()
    {
        var root = new VisualElement();
        root.Add(new Label("My Custom Inspector"));
        InspectorElement.FillDefaultInspector(root, serializedObject, this);
        return root;
    }
}
```

## FillDefaultInspector(VisualElement, SerializedObject, Editor, string\[])

Adds default inspector property fields under a container VisualElement.

```csharp
public static void FillDefaultInspector(VisualElement container, SerializedObject serializedObject, Editor editor, params string[] propertiesToExclude)
```

### Parameters

**** (\[VisualElement]\(/engine/6000.6/script-reference/unityengine/uielements/visualelement)): The parent VisualElement.**** (\[SerializedObject]\(/engine/6000.6/script-reference/unityeditor/serializedobject)): The SerializedObject to inspect.**** (\[Editor]\(/engine/6000.6/script-reference/unityeditor/editor)): The Editor currently used.**** (\[string\[]]\(https\://learn.microsoft.com/dotnet/api/system.string)): Properties to exclude when populating the Inspector. Properties with name matching [\_name](/engine/6000.6/script-reference/unityeditor/serializedproperty/name.md) are skipped.

### Remarks

The following example shows how to fill a container with default Inspector fields. For a complete example, refer to Create a default Inspector.

```csharp
using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

[CreateAssetMenu]
public class MyEditorData : ScriptableObject
{
    public string myString;
    public float myFloat;
    public string myInt;
}

[CustomEditor(typeof(MyEditorData))]
public class MyEditor : UnityEditor.Editor
{
    public override VisualElement CreateInspectorGUI()
    {
        var root = new VisualElement();
        root.Add(new Label("My Custom Inspector"));
        InspectorElement.FillDefaultInspector(root, serializedObject, this);
        return root;
    }
}
```

The following example shows how to fill a container with default Inspector fields, excluding a specific property that is displayed as a Slider.

```csharp
using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

[CreateAssetMenu]
public class MyEditorDataExclude : ScriptableObject
{
    public string myString;
    public float myFloat;
    public string myInt;
}

[CustomEditor(typeof(MyEditorDataExclude))]
public class MyEditorExclude : UnityEditor.Editor
{
    public override VisualElement CreateInspectorGUI()
    {
        var root = new VisualElement();
        root.Add(new Label("My Custom Inspector"));

        var myFloatSlider = new Slider { bindingPath = "myFloat", label = "My Float" };
        root.Add(myFloatSlider);

        // Draw all properties except "myFloat"
        InspectorElement.FillDefaultInspector(root, serializedObject, this, "myFloat");
        return root;
    }
}
```
