using System.Collections; using System.Collections.Generic; using UnityEngine; using NaughtyAttributes; public class ToggleRenderers : MonoBehaviour { [InfoBox("This script handles Enabling / Disabling \n " + "the Renderer component of each object within this relationship. \n\n" + "Disable is automatically called on Start().", InfoBoxType.Normal)] [SerializeField][ReadOnly] private string _; private void Start() => ToggleRendererRecursively(gameObject, false); #if UNITY_EDITOR [Button("Disable Renderers")] private void DisableRenderers() => ToggleRendererRecursively(gameObject, false); [Button("EnableRenderers")] private void EnableRenderers() => ToggleRendererRecursively(gameObject, true); #endif private void ToggleRendererRecursively(GameObject obj, bool enabled) { if (obj == null) { return; } if (obj.transform.TryGetComponent(out Renderer rend)) { rend.enabled = enabled; } foreach (Transform child in obj.transform) { ToggleRendererRecursively(child.gameObject, enabled); } } }