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.

Related reading