Custom data in GameplayCueParameters

I’m using Gameplay Cues because of the ease to replicate visual effects to all clients in my multiplayer game. However, I wanted to pass additional data to GameplayCueParameters (mostrly parameters for the NiagaraSystem that will be spawned inside of the GameplayCue. I did some research, and it seems it’s not possible to have a custom GameplayCueParameters struct like it is for GameplayEffectContext, so I thought of using the SourceObject property to pass the additional data I need like suggested here. So I created a simple UObject that has the data I need and passed it to the GameplayCue.

The issue I’m facing, however, is when it comes to replication. When the parameters reach the client, the SourceObject pointer is null. Does anybody know how to approach this scenario? Alternatives on how to pass additional data to gameplay cues are also welcome. Also, I’m fairly new to multiplayer and GAS, so it’s very much possible I’m approaching this the wrong way, so let me know if there are better ways to handle that.

What sort of data do you want to pass to the NS?
Can it be derived from any of the other passed in objects? (target, instigator, source object, anything from the effect context)
If not, does it make sense to have different systems with the parameters pre-set and spawn a different cue depending on the case perhaps?

(post deleted by author)

For now, mostly a couple of vectors for position and a linear color. The color I suppose I could solve by having copies of the Niagara System, instead of making it a user parameter, but the position Vectors I cannot avoid. I noticed GameplayCueParameters have a location and normal properties, so I tried shoehorning my vectors in that, but unfortunately the normal property is capped in the -1 to +1 range when it’s replicated, so that didn’t work unfortunately.