Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Shows all GameObjects in the scene with hideFlags, so you can debug them.
using UnityEngine;
using UnityEditor;
public static class HideFlagsUtility
{
[MenuItem("Help/Hide Flags/Show All Objects")]
private static void ShowAll()
{
var allGameObjects = Object.FindObjectsOfType<GameObject>();
foreach (var go in allGameObjects)
{
switch (go.hideFlags)
{
case HideFlags.HideAndDontSave:
go.hideFlags = HideFlags.DontSave;
break;
case HideFlags.HideInHierarchy:
case HideFlags.HideInInspector:
go.hideFlags = HideFlags.None;
break;
}
}
}
}
@ozgurgurbuz167
Copy link

I've been working around editor scripts and I've come across with object hiding at some point. However they've managed to stay hidden out of my control. This script helped me a lot, so thank you!

@ozansenyurt
Copy link

ozansenyurt commented Mar 18, 2023

Thanks for sharing. I would like to make some minor additions;
Sometimes objects are staying disabled, that's why i used var allGameObjects = Object.FindObjectsOfType<GameObject>(true);

Also i needed to search for null components: int nullComponents = go.GetComponents(typeof(Component)).ToList().FindAll((x)=>x is null).Count;
of course, to use ToList() and FindAll() , you also need to add using System.Linq;

i hope these also can help for someone if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment