Update: in more recent UE versions, you just have to add this to your PlayerController’s BeginPlay:
void AMyPlayerController::BeginPlay()
{
Super::BeginPlay();
if (IsLocalPlayerController())
{
TSharedRef<FNavigationConfig> Navigation = MakeShared<FNavigationConfig>();
Navigation->bKeyNavigation = false;
Navigation->bTabNavigation = false;
Navigation->bAnalogNavigation = false;
FSlateApplication::Get().SetNavigationConfig(Navigation);
}
}
No need to create a new input processor.