What does Get Player Controller (Player index = 0) return in multiplayer?

Get Player XXXXX (Index) is typically for Single Player or split screen Coop.

The index is the array index corresponding to their join order… added to array order.

On clients, Index 0 points to themselves.
On Server (Dedicated/Listen), Index 0 points to the first client to join.
Server code (RPC) using Get Player Controller 0 will always point to the first player that joined.

The above nodes can never be used in multiplayer.


From Pawn you use Get Controller then either cast to your controller class, or preferably never cast and use a BP interface function to get what you need.

From controller you use Get Controlled Pawn then either cast to your character class, or preferably never cast and use a BP interface function to get what you need.

Character component needs character data…
Get Owner → BP Interface

Hit/Overlap needs character or controller data
Hit/Other Actor → BP Interface (pawn) → Pawn: Get controller → BP Interface

BP Interfaces are the better approach vs casting.

1 Like