you’ve set up your game state correctly, it’s just null at the moment of the actor’s construction becouse actors placed on level get constructed very early. Try to access it in the actor’s BeginPlay() instead.
Isn’t there a way to do it in the constructor because I do this in the base class constructor so when I inherit from it I can take some info out of the gamestate and put it in all the derived classes
you can do that same thing in BeginPlay() as well. When you override the BeginPlay method in dervied classes you call the Super::BeginPlay() method and if you cached all of that needed info in variables you can just access them then.