Consider a spline + spline mesh component.
What’s wrong with Tick? If you want something updated every frame, you must use it. There literally is no other way around it. If you’re not Ticking something explicitly, something else does it for you.
By doing it yourself you at least control when, how often, and what heavy lifting is included in that Tick. The visual bits need to be update every frame for them to appear fluid in motion.
The trick is to not update stuff that does not need updating too often. As in, must the units’ AI run 60 times per second? Perhaps they will have enough reflexes when they check their surroundings for targets twice per second only.
Also, a particle system may / may not work better here. The source / target of a beam will need to be updated often, ofc.