4.7 P2 fails compile because of CrowdAgentInterface.h

I’m trying to use some of the new AI logic that is being released in 4.7 so I decided to convert my game. When I do so it fails to compile but it’s not my code that’s throwing the errors.

1>------ Build started: Project: ShadowHeroes, Configuration: Development_Editor x64 ------
1>  Performing 3 actions (4 in parallel)
1>  ShadowHeroesUnitAIController.cpp
1>  SHCrowdFollowingComponent.cpp
1>F:\UE4\Unreal Engine\4.7\Engine\Source\Runtime\AIModule\Classes\Navigation/CrowdAgentInterface.h(17): error C2653: 'FAISystem' : is not a class or namespace name
1>F:\UE4\Unreal Engine\4.7\Engine\Source\Runtime\AIModule\Classes\Navigation/CrowdAgentInterface.h(17): error C2065: 'InvalidLocation' : undeclared identifier
1>F:\UE4\Unreal Engine\4.7\Engine\Source\Runtime\AIModule\Classes\Navigation/CrowdAgentInterface.h(17): error C2653: 'FAISystem' : is not a class or namespace name
1>F:\UE4\Unreal Engine\4.7\Engine\Source\Runtime\AIModule\Classes\Navigation/CrowdAgentInterface.h(17): error C2065: 'InvalidLocation' : undeclared identifier
1>E:\UDK\Shadow_Heroes\ShadowHeroes 4.7\Source\ShadowHeroes\Private\SHCrowdFollowingComponent.cpp(7): warning C4996: FPostConstructInitializeProperties is deprecated and was renamed to FObjectInitializer. Please use that type instead.
1>E:\UDK\Shadow_Heroes\ShadowHeroes 4.7\Source\ShadowHeroes\Private\ShadowHeroesUnitAIController.cpp(8): warning C4996: FPostConstructInitializeProperties is deprecated and was renamed to FObjectInitializer. Please use that type instead.
1>  -------- End Detailed Actions Stats -----------------------------------------------------------
1>ERROR : UBT error : Failed to produce item: E:\Shadow_Heroes\ShadowHeroes 4.7\Binaries\Win64\UE4Editor-ShadowHeroes.dll
1>  Cumulative action seconds (8 processors): 0.00 building projects, 0.91 compiling, 0.00 creating app bundles, 0.00 generating debug info, 0.00 linking, 0.00 other
1>  UBT execution time: 5.64 seconds
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command ""F:\UE4\Unreal Engine\4.7\Engine\Build\BatchFiles\Build.bat" ShadowHeroesEditor Win64 Development "E:\Shadow_Heroes\ShadowHeroes 4.7\ShadowHeroes.uproject" -rocket" exited with code -1.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I’m not entirely sure what would be causing this. I’ve tried a clean build and still get the same errors. I’ll continue to debug and post additional details as I get more information.

REPO STEPS

  1. Create a new top down project

  2. Add an AIController to the code. (this compiles fine)

  3. Setup the AIController for detour using the code bellow

  4. Add the required header #include “Navigation/CrowdFollowingComponent.h”

  5. Compile fails.

    #include “MyProject.h”

    #include “Navigation/CrowdFollowingComponent.h”

    #include “MyNewAIController.h”

    AMyNewAIController::AMyNewAIController(const class FPostConstructInitializeProperties& PCIP)
    : Super(PCIP.SetDefaultSubobjectClass(TEXT(“PathFollowingComponent”)))
    {

    }

Thanks for reporting it. I’ve just fixed it in our 4.7 sources and it will be included in 4.7 p3, but for now just add this line

#include "AITypes.h"

just after #pragma once in CrowdAgentInterface.h

Cheers,

–mieszko

Perfect thanks.