тебе понадобится 2 вещи: Physics.Raycast и компонент LineRenderer.
public class Laser : MonoBehaviour
{
[SerializeField] private LineRenderer lineRenderer;
private void Update()
{
//Ray ray = new Ray(origin,direction);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
lineRenderer.enabled = true;
var firstPosition = Camera.main.transform.position;
var secondPosition = hit.point;
lineRenderer.SetPosition(0, firstPosition);
lineRenderer.SetPosition(1, secondPosition);
}
else
{
lineRenderer.enabled = false;
}
}
}


у LineRenderer есть материалы, можешь создать материал и закинуть туда и будет цвет какой хочешь