Data hierarchies: should my core Item be an Actor with data + model, or an empty data class?

That is a really good idea, and I’m pretty sure much more efficient than what I originally planned, but let me ask about the edge case which has me thinking in terms of unreal-centric data classes in the first place: one of the core gameplay mechanics is that in addition to its value for trading/crafting, basically every object has unique functionality that can be accessed by equipping the item and hitting the Use key. Consumables modify whatever stats within the character’s data struct, flashlights spawn a key light and nice emissive material, parabolic microphones register with the audio listener and curate audio-specific UI elements when it hears someone talking, and so forth. This needs some level of functionality specific to Unreal, would your advice be to have some kind of functionality-specific GUID, and make finding and adding that item’s utility code part of the same functionality that would find its model when it drops in-world?