WorldPosition is simply a node in the material editor. Its called “Absolute WorldPosition”
HitPosition would be the result of your blueprint linetrace hit location. You would feed that from the BP to the material by using a VectorParameter. To control the material via BP you need to create a “Material Instance Dynamic” (MID) for your sphere object and then do “set vector parameter” and set the HitLocation to equal the hit location of your line check.
Yes you can easily update the location of the hit afterwards by doing “Set VectorParameter” whenever you want. But you probably don’t want that. If do you that, any bullet hit will start your effect over from the beginning in the new location and any in-progress effect will vanish. There is no way to add multiple ripples without having separate parameters for each ripple and knowing which to control. That is potentially messy to set up and you’d still have some max number.
Adding a new sphere for each instance allow each version of the effect to keep playing to completion so they multiple ripples overlap instead of resetting each hit. Does that make sense?
To get an animated ripple, you could use a Timeline in blueprint to drive another parameter. To do that you simply make a timeline and on “update” you do “set scalar parameter” on the MID again and control another parameter in your material.