Get Unique ID in multiplayer for each client

here what i am doing ,
in the editor i setup with 3 new windows clients and a dedicated server
i create a server in one of them with advanced session plugin
then in the two others i find and join the session .

in my custom c++ playerstate i have this code to get the unique id

FString AMyPlayerState::GetUniquePSID() const
{
    if (GetUniqueId().IsValid())
    {
        return GetUniqueId()->ToString();
    }
    return FString("Invalid ID");
}

GetUniqueId() is a function of the base playerstate .

now with umg i show the GetUniquePSID but for some reason is the same for all clients
however when i retrieve the playerarray from the gamestate and get the corresponding GetUniquePSID of each playerstate they are differents .

any idea on what’s going on, i am fighting with this problem for few days now .