For any who stumble upon this and happen to see this. There are so many better ways to reference a blueprint object in C++ code and using FClassFinder is the absolute worst method of doing it. I am a veteran UE4 developer and I picked up this course because there are a few bits of gold nuggets here.
But NEVER hard code a reference to an asset for your project, Please for the love of your developers and designers sanity never ever do that. Always have it be configurable in Blueprint, ALWAYS. UE4 has so many ways to get a reference to the object you need in your game that you should never need to use FClassFinder. C++ and Bueprints provide, Property Pointers, TWeakObjectPtr, TAssetPtr, TSoftClassPtr, and TSubclassOf which can be edited and even created in Blueprints. Couple this with UE4’s built in support for a DataSingleton UObject or use one of the classes that exist on both clients and servers such as GameInstance, or GameState and all of this can be configurable within your game without the use of Hard coding a reference to something you’d have to perform a recompile to change, it’s not worth it and causes way more headaches than problems solved.
In the example used for this project the developer should have used a TSubclassOf < Pawn > property and assigned the class and created a blueprint derived version of the game instance, configure the property, and then within the project and assigned it through the ProjectConfig properties under General Settings to the BP GameInstance.