Multiplayer Timed Pickup best practices ?

Hey there people of the Unreal !

I’ve been scanning through the unreal tournament code and not being a super fluent C++ user I sort of got lost in all of it. I’m looking for a safe way to do timed pickups that modify certain properties of the player (speed, armor that kind of thing).

The way that I’m thinking about doing it (blueprint only) is when a player collides with a trigger, only on authority, spawn an actor that will take a reference to that player and change a specific property, start a timer that will eventually remove the property change from the player.

Would this be a safe way to do it ? Since none of the code is actually in the player ? It’s something external spawned by the server.

(I was thinking of spawning an actor because the level is procedural and gets recycled meaning that the actor that spawned the property modifier will probably not be there after 15 seconds)

This would actually be a whole different topic but say I spawn this actor (property modifier) and set the owner to whatever player that walked into the trigger, how much freedom does that player has with this actor ?