How to replicate a function without player character?

nice, just note you shouldnt use GetPlayerController(0) for multiplayer, you should pass in a ref to the interacting controller. its probably fine for what youre doing now but could lead to issues in the future.

good luck