EnableInput(/???/);
This function requires reference to Player Controller. In BP you have a node for getting current PlayerController. How do I do the same thing in code? and why do I even need to reference a PlayerController to enable input? I just want to program some input.
I Found the answer on some vague forum thread.
first you define a BeginPlay(), why is it virtual for I dont know.
virtual void BeginPlay() override;
then you EnableInput() and they way to get the PlayerController is to say GetWorld()->GetFirstPlayerController() and that gets you the Controller.
void AAIBot::BeginPlay()
{
Super::BeginPlay();
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, TEXT("HELLO WORLD"));
}
EnableInput(GetWorld()->GetFirstPlayerController());
}
DO NOT, ever try to do this in the constructor or else Unreal 4 will crash and your project will be lost forever.