multiplayer top down template: spawn a cube at mouse location

I have been working on this but I can’t figure it out:

when a client spawns a cube, the mouse location is at 0, 0, 0 so the cube is spawning under the map.

when you play as the listen server… you can see the print string is showing the coordinates, the cube is spawned where the player last clicked.

this is how the Cursor Location is stored (I know you prob shouldn’t use tick for this, I just used it for now to experiment with this issue and learn the replication stuff

this is creating the UI blueprint widget in the TopDownCharacter BP:

this is just one of the ways I set up the spawning I have tried many variations:

this is storing the Location of the get hit result under mouse cursor by channel in the TopDownController and then also cast to TopDownCharacter and store the same Location there.

When I Get Controller and cast to down controller and try to get the Cursor Location I don’t think it’s getting the correct or actively used controller, and that’s why the client spawns the cube at the 0,0,0 but maybe I just don’t understand ownership, or the issue of spawned controllers and spawned pawns. (I’m new to multiplayer)

I am just prototyping some ideas for college and I’m completely stumped on this.