Keep the spawn where it should be. At the muzzle via a socket usually.
Sandstorm wasn’t too great in terms of UE4 usage.
a good one would be the outer worlds. Though the weapons in it feel more like line traces without a bullet drop.
Back to the socket thing.
It doesn’t matter where it is spawned. What matters is that you pass along the look at rotation between the muzzle and the end point on the cursor.
the end point at the cursor can be found via a single line trace, which is also your “instant” hit detection.
The next portion should take that trace info into account and allow for the spawn of the projectile aimed at the correct target.
The projectile at that point can do its thing.
If you want to implement it like sandstorm, you can use the first raytrace as a hit if the hit distance is below 50m or so. And use the simulate only afterwards.
Obviously this is different then first person. But to get the angle of the shot from the muzzle to the target you still need the information on the target, so it’s the only way i can think it.