Quick answer: Unreal Blueprint cast on GetGameInstance returning null because the project uses a custom GameInstance class? Configure GameInstance class in DefaultEngine.ini.
Cast to MyGameInstance returns null. Engine uses base UGameInstance.
Configure GameInstance class
DefaultEngine.ini: GameInstanceClass=/Game/BP_MyGameInstance.BP_MyGameInstance_C. Class instantiated; casts succeed.
Or use IsA
Defensive check before cast. Skips the silent null path.
Validate at startup
Log GetGameInstance class. Expected class? If not, the config is wrong.
“GameInstance class is configured. Default is the base; custom requires explicit config.”
If your project uses a custom GameInstance, the configuration is the prerequisite. Document.