using System.Collections.Generic; using UnityEngine; namespace GraphicsCat { public static class GameObjectUtils { public static T[] FindObjectsByType() where T : Object { return GameObject.FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None); } public static List FindGameObjectsWithMeshRenderer(bool includeInactive = false) { FindObjectsInactive findObjectsInactive = includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude; var renderers = Object.FindObjectsByType(findObjectsInactive, FindObjectsSortMode.None); var gos = new List(renderers.Length); foreach (var renderer in renderers) { if (renderer is MeshRenderer or SkinnedMeshRenderer) gos.Add(renderer.gameObject); } return gos; } } }