Using my example above you’d cast to WepSK_M416.
ItemBP (parent item class): Contains data structure/vars that all items will have.
e.g. Item ID, Item Type, umg icon etc.
Weapon_SK_BP (child Item class): Contains data structure/vars and components that ONLY & ALL weapons will have.
e.g. Max ammo, recoil struct, sway, attachment system, reloading, montages, fx, sounds, camera component etc.
WepSK_M416 (child child item class): Contains data structure/vars and components that ONLY the M416 will have if any.
The structures inherited from Weapon_SK_BP are fill ins so you don’t have to build each weapon from scratch or C&P an existing and modify. By simply using “Create child BP class” from Weapon_SK_BP gives you all the format, structures and vars needed to have a new weapon. Fill in the vars/struct fields … done.
Look at as templating. Weapon SK BP is a template for weapons.