I have a game that was working fine after several packaging evolutions and then when I remapped the escape menu to just the escape key instead of shift+escape, that I was using for testing, it won’t work in the packaged game but it works in the standalone player just fine.
However it still lets me use Tab to get into my inventory menus and “I” to get into my in game stats and everything, so it’s not just an issue with menus in general. All other controls seem to work fine.
validating the project data
repackaging from scratch
changing inputs back and forth to try and clear any sort of cache there might be
rebuilding the “escmenu” input node
I can remap it to, for instance F1 and all the menus still work fine, but if I use escape or escape with modifiers it won’t work in the packaged version.
I think the escape key loses it’s mapping in a packaged game, unless you specifically map it in the project settings as an action event.
It is. It works in standalone but not packaged.
I don’t know why it works, and it seems to only be a sort of workaround but if you manually remove the keybinding and then re-add it in, for instance, the player controller (not in project settings), it works again in the packaged game.
This is 2 years old but it keeps coming up as the top search result for me. This solved the issue for me in Unreal 5.3. Ignore tutorials telling you to go to Project Settings > Input; Input Mapping Context is the way now.
get rid of random keyboard presses. Search all blueprints for “pressed” events and make sure you didn’t bind the Esc key to any random node.
edit your main IMC (e.g. your template might have IMC_Default). If not then create a new Input Mapping Context: Content Browser > Add > Input > Input Mapping Context.
create an Input Action to receive your Esc key, e.g. create an IA_Menu.
go back to the IMC your created and click plus (+) to add a new Mappings, select your new IA_menu, click the plus (+) to add a mapping, choose Keyboard > Escape.
Also, you have to make sure that your player is responding to the IMC. You may have to add an Add Mapping Context node that references the Enhanced Input Local Player Subsystem.