Unresolved external in AAIController

I’m trying to a simple AI character to follow me around in a level. When I try to compile the project, I get the following error in the AIController class:

Error LNK2001 unresolved external symbol “public: virtual void __cdecl AFollowerAIController::Possess(class APawn *)” (?Possess@AFollowerAIController@@UEAAXPEAVAPawn@@@Z)

I have included “AIModule” in the project build file, and even tried adding “GameplayTasks”, but I keep getting the error. Possess is a virtual public function on AAIController so I don’t understand why I’m getting this error. Can anyone help?

This error means that you have a virtual method that has no implementation. Since virtual methods work a bit differently than regular methods, the compiler looks for them in a later phase, thats why you get “LNK” errors instead of regular compile errors. Just implement it like so

void AFollowerAIController::Possess( - your arguments -)
{

}

in the .cpp file of your class. The method body can be empty, the only thing that matters is that it’s there.

Thank you so much, that was exactly what was wrong. Your help is very much appreciated.