Arrow keys don't trigger any key event when input mode is set to game + ui (or just ui)

Ah, well the c++ thing isn’t a 2 step process. First you create a new class:

.h

#pragma once

#include "Framework/Application/NavigationConfig.h"


class FCustomSlateNavigationConfig : public FNavigationConfig {

public:

	FCustomSlateNavigationConfig();

};

.cpp

#include "CustomSlateNavigationConfig.h"


FCustomSlateNavigationConfig::FCustomSlateNavigationConfig() {
	KeyEventRules.Empty();
 // Add your own KeyEventRules in the KeyEventRules array

}

Then from another place, like your module’s .cpp file you could override Slate’s navigation with the custom one like this:

	FSlateApplication::Get().SetNavigationConfig(TSharedRef<FCustomSlateNavigationConfig>(new FCustomSlateNavigationConfig()));

I have heavily modified my stuff, haven’t checked what the arrow key should behave like on a clean project, that’s one thing you can still try before deep diving into code.