Common action widget doesn't work until switching input methods

I have a UCommonActionWidget subclass that should be displaying an input icon corresponding to an input action. It works as expected, but for some reason I can’t figure out, the widget only updates to reflect the correct icon when I switch input methods. If I launch the game with mnk, I have to plug in a gamepad, and then the icons appear. If I launch with a gamepad, I have to switch to a mouse and keyboard for the icons to appear.

The common input subsystem should be initialized at this point, so I’m not sure what the problem might be, or how to fix it. Does anyone know what might be causing this?

This is the widget class:


CrashActionWidget.h


CrashActionWidget.cpp

Edit: After some more debugging, I’ve found that setting a timer for a few seconds and then manually broadcasting the UCommonInputSubsystem’s OnInputMethodChangedNative delegate will update the action widget correctly. But I can’t figure out why you need to wait. There’s something that isn’t initialized in time, but I can’t find what it is. The input subsystem itself is initialized at this time, as is the ability system, and input component.