Here’s a solution that may work for you:
The pawn has an instance editable int ID (as suggested) and a custom event:
Do ensure that each Pawn instance has a unique number.
The widget keeps the buttons in an array:
In the blueprint that creates the widget: