How to add an usuable Input Mapping Context to a plugin?

For a plugin I am setting up, I would like to add sample content along with the example (VR) Pawn. One of the things I’d like to add is an Input Mapping Context. Getting the assets in and mapping them in the controller is easy enough ans works properly in the development project.
However, as soon as I install the plugin in a project that already has an IMC connection to the controller/pawn (for instance in the VR template), the input action events are not being triggered for the plugin pawn. And yes, I do add the mapping context to the Enhanced Input Local Player Subsystem, even with a higher priority.
If I use the plugin pawn in a project without a Pawn/Controller (and EIS) in it, the plugin setup works without issues.

  • Project Settings has the default GameMode, setting the GameMode in the world settings so each map (project and plugin) has its own GameMode.
  • I made sure the correct assets were used after adding the mapping in the Pawn.
  • Tried to add a plugin-specific PlayerController to directly add the mappings but that didn’t fix anything.
  • Tried to set the Enhanced Input - Default Mapping Contexts in the Project Setting: no success.

I have looked up and down in the Project Settings and GameMode but cannot find any settings with regard to EIS settings that will point the engine towards the new setup (in case that my be causing the issue).

The behaviour seems to be related the pawn. When I change the Default Pawn Class in the GameMode of eihter map, the input events also switch from working (for the VRPawn) to not working (my plugin defined pawn)

What am I missing here or could this be a ‘missing feature’ in the EIS?

For anybody stumbling on this one, here’s the cause and solution.
The cause was two fold:

  1. for OpenXR you’ll need a Player Mappable Input although the editor (5.3) states this assets is deprecated. Set one up, add your IMC’s to the mapping and select the PMI in the Project Settings under “Plugins - OpenXR Input”
  2. Make sure the IMC’s do NOT have the same description, this will result in the controller not being tracked or the Motion Contoller Components not being updated.