Changing HUD otside of Character class does not work

IsLocalController works differently on Client vs (Listen) Server because of RemoteRole. Checking IsLocalController on client(listen server) is enough.



bool AController::IsLocalController() const
{
    const ENetMode NetMode = GetNetMode();

    if (NetMode == NM_Standalone)
    {
        // Not networked.
        return true;
    }

    if (NetMode == NM_Client && Role == ROLE_AutonomousProxy)
    {
        // Networked client in control.
        return true;
    }

    if (GetRemoteRole() != ROLE_AutonomousProxy && Role == ROLE_Authority)
    {
        // Local authority in control.
        return true;
    }

    return false;
}


https://docs.unrealengine.com/en-US/…les/index.html

Changing bShowMouseCursor on server does not replicated to client. Using local controller pointer is ok but make sure replication.

More reads
https://wiki.unrealengine.com/Replication
http://cedric-neukirchen.net/Downloa…Neukirchen.pdf