using System.Collections.Generic; using UnityEngine; public class RenderStats : MonoBehaviour { public float refresh = 0.5f; float t; void Update() { t -= Time.unscaledDeltaTime; if (t > 0) return; t = refresh; var renderers = FindObjectsOfType(true); int visible = 0; int enabled = 0; var matCount = new Dictionary(); var matNameCount = new Dictionary(); var typeCount = new Dictionary(); foreach (var r in renderers) { if (!r.enabled) continue; enabled++; if (r.isVisible) visible++; typeCount.TryGetValue(r.GetType().Name, out int tc); typeCount[r.GetType().Name] = tc + 1; var m = r.sharedMaterial; if (m != null) { matCount.TryGetValue(m, out int c); matCount[m] = c + 1; matNameCount.TryGetValue(m.name, out int cn); matNameCount[m.name] = cn + 1; } } Debug.Log( $"Renderers total:{renderers.Length} enabled:{enabled} visible:{visible} | Unique sharedMaterials:{matCount.Count}" ); } }