There are 2 primary built in ways to interact with something: right clicking in the Inventory or left clicking on the Hotbar. You can add more interactions, and make your own systems interactable by leveraging the
General flow of interactions
If you're using the Hotbar, only one interaction type is supported: The
Useinteraction. This will directly use the 'thing' docked. Things other than Items can be docked on the Hotbar so it will Use the item by going through the
IUseableDataEntityinterface. By default, the
UseableItemimplements this but you could extend it, for example, to work with an Ability system that can be docked on the same Hotbar as long as they implement the
If you're using the Inventory, many interactions are available but 3 interactions are available by default:
Split. The default interactions are always available and evaluated to be valid since this applies to virtually all things that could be in the Inventory.
A third way which is not yet built in is to create your own Interactions that use the same design approach as the existing systems. This should be fairly straightforward as long as you trigger the interaction, validate the actions and reach into the
IUseableDataEntityinterface to use them.