using System.Collections.Generic; using UnityEngine; public class EmissiveLightMatching : MonoBehaviour { [SerializeField] private List indexes; [SerializeField] private Light reference; private readonly List colors = new(); private float initIntensity; private void Awake() { initIntensity = reference.intensity; } // Start is called before the first frame update private void Start() { foreach (var index in indexes) colors.Add(gameObject.GetComponent().materials[index].GetColor("_EmissiveColor")); } // Update is called once per frame private void Update() { var x = 0; foreach (var i in indexes) { gameObject.GetComponent().materials[i].SetColor("_EmissiveColor", colors[x] * (10 * reference.intensity / initIntensity)); x++; } } }