This is a very flexible system. With it, you can make your game compatible with both Keyboard and Gamepad and make the logic of your project very clear and uncoupled.
It is an event-driven architecture (no parent class, no interface). All communication is done through events. You only need to add a component. In simple terms, all items in the game (Weapon, Skills, Props etc.) are Actor basic types. You don't need to care about the specific type of Actor, so there is no need to use ugly things like Cast to XXX.
QuickSlot needs to be added to Character. Its main function is to manage slots. The component provides 5 slots, namely Top, Right, Bottom, Left, and Center. You can use these slots to implement functions similar to the Elden Ring. Center is reserved and you can use it at will according to your needs.
SlotItem needs to be added to an Actor such as Weapon, Props, Skills etc. After adding, you can listen to events and then interact with CT_Cmpt_QuickSlot
Due to market limitations, When adding this product from Marketplace, GameplayTags will not be added to project. You need to download this file (https://github.com/chaintree7/UE5_QuickSlotSystem/blob/main/Config/Tags/CT_QuickSlot.ini) and add it to your project directory /Config/Tags/
Montages in the Demo is not replicated by default, You need to add another product of mine NetworkMontageSystem (Free) , and open /Content/CT_Components/Demos/QuickSlotSystem/Items/BP_Item and find the following code




