Spawn Player for Multiplayer Top-Down

I’m using an AI controller to have AIMoveTo work. For a Top-Down game.
I need to have a PlayerController that isn’t possessed with the same pawn, so possessing with AIContorller solved the problem.

The niagara effect is in the character, I have a C++ which is the BasePlayerCharacter, with a UNiagaraSystem (the effect), this variable is replicated.
I’m spawning the character, then in begin play running some logic, and calling StartSpawnEffect with the niagara system that i’ve set.
The only way a successfully spawn the effect once for each player, is calling a SpawnSystem from the PlayerController as an Multicast event.

So ActorComponents, have the same server/client logic like a player pawn?