For anyone wanting to disable this behaviour, you can hack around it by creating a new derived class from UGameInstance inside your game project which completely overrides StartGameInstance() with the same implementation (minus the offending Tmp = TEXT(“”) line.) This works for non-source builds too, just remember to update the code again if you upgrade engine versions. If you’re lazy (like me) you can catch engine upgrades with a compile error using the following snippit somewhere inside your override of StartGameInstance(), eg. for catching upgrades from UE4.14:
#include "Runtime/Launch/Resources/Version.h"
...
#if ENGINE_MINOR_VERSION > 14
#error "You have upgraded from UE4.14 to a newer version. Please recreate StartGameInstance() as an exact copy of UGameInstance::StartGameInstance() and comment out the Tmp = TEXT("") line again."
#endif