Looking for some tips/advices (C++ coding)

Hello everybody,

First I want to present you very briefly who I’m so you can imagine how far you can go with your explanations.
I’m a 23 years old guy working as IT Analyst/Developer on .Net & Cobol languages (yeah the code that is older than your grandparents haha !).
In a personal way, I’m used to code in java and selling few development services over internet for private server emulators since 10 years.

Since few weeks, I’m writing all my ideas, thinking about how to make my mechanics and have a solid ground to develop my own game.
Currently, I’m spending lot of time searching how to design my item system to make it robust, expendable and easy access to non-developer.
I want to make it in a way that everybody without knowledge can easily add new items to the whole project by putting all parameters into the UE Editor.
I don’t feel happy with the way I planned it and I ask myself if it’s really the right way to go.

From my point of view, to be efficient, I need a parent “ItemClass” that will manage all generic functions/variables and which is inheriting from UE “Actor” Class.
For me with this way, I will only have 1 instanced object to manage the item with “on ground” state (spawned by game/dropped by player and so pickable) and his “usable/in-inventory” state (item is picked by player and is usable if consummable, fireable if weapon and equipped).

Here it’s how I have designed my Item System Class:

Class DefaultItem : heriting from UE Actor class
      Item Name
      Item Type (Consumable/Weapon...)
      Item Description
      Ingame model (on ground/character)

Class ConsumableItem : DefaultItem
     Effect Duration
     Use Animation
     Use Sound

Class WeaponItem : DefaultItem
     Slot Type
     Weapon Type
     Fire Sound

1°) Is it the good way to design my item system ?
2°) How do I have to proceed if I want to create/store all available items of the project and make them accessible ?
2.1°) Like creating all items blueprint and have a way to store/have access all created blueprints of any type ?
Example: in future with my “Entity Spawn System”, I want Designer to have access to the full list of items sorted by type to put “Spawner” on the scene which will spawn the selected item depending on parameterable chance/amount etc…

I’m open to any suggestions, tips or comments that could help me to improve my knowledge.

In addition, I’m looking for someone with UE C++ coding knowledge that is willing to be a sort of mentor and able to answer my technical questions in more easier & faster way. I’m really interested in increasing my UE C++ developing skill as fast as possible.

Thank you everyone for taking time to read and/or answer me.