How do I implement different items to work in the same inventory system?

Hi ! If you want to access a function / variable of a child from its parent, you need to use casting.

You can add for example an Enum in your ItemBase which will determine which kind of item it is ( weapon, consummable, etc … ), so you can easily cast to the right class in your logic.

Edit : You could even hold the subclass reference itself in your ItemBP info structure.