I need to set navigation area in editor for hundreds of objects at a time, and i can't locate where is the functionality to switch it. Please tell me it is possible.
Its coding problem, you need to have references to all hundreds of these GameObjects stored in certain variable, like List<GameObject>, everytime you instantiate any instance, add it into that variable. If you didnt instantiate, but added those hundreds of these item in editor, then in the start or awake, add them into that variable. Then from anywhere you can access any of these hundreds of GameObjects.
I am sorry that i misunderstood your question, but if you piss at ppl that attempts to help you, you might not getting anymore help in the future.
Ok to anyone having same issue where you need to switch this setting on hundreds of assets this is how i achieved it: logic: 1. dump all prefabs in scene 2. select all mesh renderers 3. set the flag 4. apply Now the code that semi automates this: select the folder and use this to dump all prefabs, make sure you are doing this in empty scene Code (CSharp): [MenuItem("DANGER/Prefabs/DumpPrefabsFromFolder")] public static void DumpPrefabsFromFolder() { string path = GetSelectedPathOrFallback(); Debug.Log(path); if (path == string.Empty) return; if (!path.Contains("Resources/")) return; path = path.Replace("Assets/Resources/", string.Empty); var all = Resources.LoadAll(path); foreach (var prefab in all) { PrefabUtility.InstantiatePrefab(prefab); } } public static string GetSelectedPathOrFallback() { string path = "Assets"; foreach (UnityEngine.Object obj in Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Assets)) { path = AssetDatabase.GetAssetPath(obj); if ( !string.IsNullOrEmpty(path) && File.Exists(path) ) { path = Path.GetDirectoryName(path); break; } } return path; } now filter by component in hierarchy t:MeshRenderer set the navmesh thing now select all and run this on them, this is very dangerous script as it will OVERWRITE all the prefabs with the current ones, it works well for me and doesnt break anything, but it can for you, so use version control to save yourself some fml moments. Code (CSharp): [MenuItem("DANGER/Prefabs/ApplyChangesToSelectedPrefabs")] public static void ApplyChangesToSelectedPrefabs() { var all = Selection.gameObjects; foreach (var pref in all) { if (pref.transform.parent != null) continue; GameObject go = pref as GameObject; var head = PrefabUtility.GetPrefabParent(go) as GameObject; string path = AssetDatabase.GetAssetPath(head); Debug.Log(path); PrefabUtility.ReplacePrefab(go, head, ReplacePrefabOptions.ReplaceNameBased); } }