Widget Switching

You need to override the widget’s key down, do not create a custom function for this:

There’s no need to call anything in construct.

I’m really confused by this. I presented you with 2 methods. One that is using just widgets (since you asked for a switcher implementation), and one that is using actors (since I later learnt actors are used as abilities). Now I’m under the impression you’re mixing and matching both - which is fine but will add to complexity. Perhaps choose one and stick with it for now. You can always refactor later (famous last words).

I created only one variable for this, the index which you’re already using. The rest of the nodes are widget functionality, here helping to correctly handle input from the player. But do ask if you have something specific in mind.

Yes. In the first example, abilities are just widgets with no actors handling the logic. In the second one, you’d have an actors handle the logic and their corresponding widgets display results / state.