Actor drop with inventory structure and mesh

Alright, so what’s happening there is that Item Mesh variable is a class of type Actor. Since Actor is a base class provided with Unreal, it doesn’t have any Item Data variable in it. So when you try to use that (even if you have set its value to Stick) for spawning, the Spawn Actor node always treats it as an Actor. Hence the reason why you lose the Item Data input when you connect Item Mesh.

So instead of setting the spawn class as an actor type, set it to a class that has the Item Data variable, like say your Item Drop class. Now if you want to set different meshes for each Item type, you can add a new variable of type Static Mesh object to your Item struct. Here you can tell it what mesh to use. With this information, you can set this new mesh as the static mesh for the Item Drop in its construction script as shown below.