Assigning new mapping context doesn't allow IA_Move from default VR Template to work

Hi.
I’ve created a new IMC named IMC_Locomotion_Teleport that uses the IA_Move action that was originally used in IMC_Default. I’ve assigned it the exact same controls as it had in IMC_Default, and I’ve deleted this action from IMC_Default. I’ve created another IMC named IMC_Locomotion_Fly set up the exact same way, with only IA_Move in it.
In the VRPawn blueprint I have created a function that sets the locomotion mode bool (fly/teleport), then removes the previous IMC and adds the correct one based on the locomotion mode. This works as expected. I’ve checked ‘showdebug enhancedinput’ in the console, and I always have the correct IMC when I expect to.
However, the IA_Move event in the VRPawn event graph no longer works at all, and the debug info shown in the showdebug window is not registering any input for IA_Move.
If I add IA_Move back to IMC_Default, it will work again. I’m completely stumped and beginning to wonder if I’ve hit some kind of bug.

Thankyou in advance!

Did you add IMC_Locomotion_Fly to PMI_VRTemplate? If your Input Mapping Contexts are not added to it, the Interaction Profile doesn’t know about the binding.

Thanks for your answer. I hadn’t seen PMI mentioned anywhere so I hadn’t added it. My problem now though is when I do add my IMC to it, the hands no longer show up in the game at all.
I’ve also tried making a new PMC set up the same as the default one and assigning that in the Project Settings/Plugins/OpenXR section required, and it works fine until I add one of my new IMCs

Fixed. I deleted my IAs and IMCs I had created and made each of them from scratch.

Also had to add my IMCs to the PMI