Turns out there’s nothing wrong with my Input detection code. The problem was the way I was trying to load the input textures on the fly with Get Asset by Object Path, trying to use unreferenced assets that are not cooked with the package.
Works in PiE, not in shipped game.
Solution 1
Add the Prompts image folder to “Additional Asset Directories to Cook”
Source:
Solution 2
Another way to fix it, I created a Data Table mapping keys to all the available prompt images, this way there is a guaranteed indexed source of truth for prompt images referenced when the project is cooked: