Creating a pawn, posessed by AI in C++

I need to create a vehicle, that can be fully posessed by AI, e.g. a simple patrol-n-chase behavior via BTrees. At first, my vehicle was a character, so everything worked well. But then I read more about actors, pawns, characters and so on and realized, that my vehicle is a pawn - not a character. So now I’m trying to create my own VehiclePawn base class with a custom VehicleMovement component. The problem is, that don’t quite understand, what virtual functions do I have to override to let AI controller work correctly. All the tutorials, that I’ve managed to find, tell, how to create a pawn to be controlled by a player - not AI.