The issue with these functions so far is that they are all keyed off a specific actor type. There isn’t currently any functionality to key into component types, across any actor type. In other words, ideally I don’t want to have to care about what actor type these components are on. I want to find any static mesh component or instanced static mesh component with a particular asset user data and run some logic on it with the gameplay system.
I built my loot system to key off of a user data asset so that any object could be a lootable. It supports static mesh components, instanced static mesh components, and skeletal mesh components.
ULootableAssetUserData : public UAssetUserData
The issue I’m grappling with here is that there isn’t a very clean way to perform some startup logic keyed off of component types with the game feature system, it’s all actor keyed.
The system currently is not at all dependent on these supported components being part of a specific actor type. This is a strength to the design of this system in my opinion. Static/Skeletal/ISM components can exist in the form most optimal to their display, and my loot system will still work for them. I’m trying to avoid moving backwards to an expectation of a specific parent actor type. This modular game feature seems like it would force that, so I’m wondering about the possibility of keying off of component types, not actor types, even engine component types in this case.
Otherwise I’ll need to use a different approach to finding and seeding all the lootable tagged objects.
TLDR: Can you add a way to key actions on component types, with no regard or requirement to the actor type(including engine components). This implies not having a requirement to opt-in, or perhaps the components would have an alternate way to opt in such as via the presence of a certain UAssetUserData