Got it working in 4.22
First i needed to update my VS2017
WindowsPlatformCompilerSetup.h(22): error C2338: Visual Studio 2017 versions 15.7 and 15.8 are known to have code generation bugs that affect UE4. Please update to version 15.9.
Solution: Downloaded the Latest VS 2017
Secondly i received compile errors for the Possess() and UnPossess() calls in SZombieAIController.h
error C3248: 'AController::Possess': function declared as 'final' cannot be overridden by 'AEnemyAI::Possess' error C3248: 'AController::UnPossess': function declared as 'final' cannot be overridden by 'AEnemyAI::UnPossess'
I fixed this by renaming them OnPosess() and OnUnPossess() in header and SZombieAIController.cpp which makes them a custom function instead of an Override function
Thirdly i received several compile errors concerning FCollisionQueryParams TraceParams in a few files
error C2039: 'bTraceAsyncScene': is not a member of 'FCollisionQueryParams'
I simply commented them out and this allowed me to build the solution.
//TraceParams.bTraceAsyncScene = true;
Simply a workaround to build project not getting the engine Possess override function and missing a collision call several places. Toms an awesome instructor figured i could help out so i can continue learning as well!