Unreal Engine 4.6 Released!

After taking a look at the engine source for 4.6 input mapping, I noticed FSlateApplication::Get().ProcessKeyDownEvent(KeyEvent); and FSlateApplication::Get().ProcessAnalogInputEvent(AnalogInputEvent); are exposed, so using something like


bool EmitKeyDownEventForKey(FKey key, int32 user, bool repeat)
{
	FKeyEvent KeyEvent(key, FSlateApplication::Get().GetModifierKeys(), user, repeat, 0, 0);
	return FSlateApplication::Get().ProcessKeyDownEvent(KeyEvent);
}

Would approximate FSlateApplication::OnControllerButtonPressed(FKey, int32, bool);

Except that using KeyEvent() causes FKeyEvent::ToText(void)const implementation to be required in your implementation file, e.g.


FText FKeyEvent::ToText() const
{
	return NSLOCTEXT("Joystick Plugin Events", "Key", "Text");
}

which you cannot add because doing so causes error C4273: ‘FKeyEvent::ToText’ : inconsistent dll linkage.

Any guidance on adding custom input mapping in 4.6 epic? or has been broken without an engine patch?

Edit:
I guess you can suppress the warning with #pragma warning( disable:4273 ) but feels hacky, still would like to know the proper way to achieve