Checking if PlayerController is on host or client

I’m sorry. There are 100 topics about this and I’ve tried all suggestions. I simply don’t know why this isn’t working.

In BeginPlay()
I have a simple:
GEngine->AddOnScreenDebugMessage(-1, 2, FColor::White, TEXT(“BLA”), false);

Around that log message I’ve tried every combination of if( GetNetMode(), IsLocalController(), HasAuthority() ect… ) I can imagine but that message still logs to all windows in PIE. Even GetNetMode() == ENetMode::NM_ListenServer is still not stopping the debug from logging on the clients window.

How should I be checking within a player controller to ensure that controller is on the host?

I just discoverd GEngine->AddOnScreenDebugMessage(-1, 2, FColor::White, TEXT(“BLA”), false); draws on all windows in PIE , and it seams impossible to draw on only client/server. Drawing a debug sphere with the same code only shows up on host as expected. :frowning: