OnLobbyServerSceneLoadedForPlayer not called for client

Hello All

I have been looking for a while and haven’t been able to find an answer to this Unet problem I am facing.
Much like the title suggests I am having an odd issue with this method which will be called on a host but never on the client. The method is in a lobby hook which should grab some lobby choices in my case a color and pass that value into a variable for a player object. This is only working on the host who is receiving the color for all plasterers in the game. The Client never even triggers the method which i found out using breakpoints and so I am now wondering where my problem could stem from.

I would of course love a quick answer but any theory or suggestion is very much appreciated. I do not think code is needed here, but if this helps the Lobby manager is the Unity Network Lobby with help from this tutorial Tutorial

and here is the code which is not called.

public class NetworkLobbyHook : LobbyHook
{
    public override void OnLobbyServerSceneLoadedForPlayer(NetworkManager manager, GameObject lobbyPlayer, GameObject gamePlayer)
    {
        LobbyPlayer lobby = lobbyPlayer.GetComponent<LobbyPlayer>();
        InitialisePlayerOnNetwork localPlayer = gamePlayer.GetComponent<InitialisePlayerOnNetwork>();

        localPlayer.NameTest = lobby.playerName;
        localPlayer.ColorTest = lobby.playerColor;
    }
}

I found my problem in case this helps anyone. Just needed to set the receiving variables as sync vars. just took a while to find the problem. add a comment if more info is needed.