using System; using UnityEngine; [ExecuteAlways] public class BeamPointsFromTransforms : MonoBehaviour { [Tooltip("Line Renderer to set the positions of.")] public LineRenderer target; [Tooltip("Transforms to use as the points for the line renderer.")] [SerializeField] private Transform[] pointTransforms = Array.Empty(); private void Start() { UpdateBeamPositions(); } private void Update() { UpdateBeamPositions(); } private void UpdateBeamPositions() { if (!target) { return; } int num = pointTransforms.Length; target.positionCount = num; for (int i = 0; i < num; i++) { Transform transform = pointTransforms[i]; if ((bool)transform) { target.SetPosition(i, transform.position); } } } }