# NextVisible(bool)

> Move to next visible property.

## Definition

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

```csharp
public bool NextVisible(bool enterChildren)
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

Additional Resources: [SerializedProperty.Next](/engine/6000.5/script-reference/unityeditor/serializedproperty/next.md), [SerializedProperty.hasVisibleChildren](/engine/6000.5/script-reference/unityeditor/serializedproperty/hasvisiblechildren.md), [SerializedProperty.isExpanded](/engine/6000.5/script-reference/unityeditor/serializedproperty/isexpanded.md), [SerializedProperty.Reset](/engine/6000.5/script-reference/unityeditor/serializedproperty/reset.md), [HideInInspector](/engine/6000.5/script-reference/unityengine/hideininspector.md).

### Examples

```csharp
using System;
using System.Text;
using UnityEngine;
using UnityEditor;

public class SerializePropertyNextVisible : ScriptableObject
{
    public bool m_SeeMe1;

    [HideInInspector]
    public bool m_HideMe1;

    [SerializeField]
    private bool m_SeeMe2;

    [HideInInspector]
    public bool m_HideMe2;

    [MenuItem("Example/SerializedProperty NextVisible Example")]
    static void TestNextOnCyclicGraph()
    {
        var scriptableObject = ScriptableObject.CreateInstance<SerializePropertyNextVisible>();
        using (var serializedObject = new SerializedObject(scriptableObject))
        {
            var serializedProperty = serializedObject.GetIterator();

            var sb = new StringBuilder();
            sb.AppendLine("Visible Properties:");

            // Move from the root to the first visible property
            bool visitChild = true;
            serializedProperty.NextVisible(visitChild);

            // Rest of scan stays at same level
            visitChild = false;
            do
            {
                // Note: some properties from the supporting Unity base objects are exposed
                // (and visible in the inspector), for example "m_Script".
                sb.AppendLine(serializedProperty.name);
            }
            while (serializedProperty.NextVisible(visitChild));

            /*Expected output
            m_Script
            m_SeeMe1
            m_SeeMe2
            */
            Debug.Log(sb.ToString());
        }
    }
}
```
