To reduce the error of typing gameplay tags manually, is it possible to make a global list and allow the user to select one when assigning a tag?
So an actor has a bunch of mesh components and each component can be assigned a tag from:
body.head
body.arm.right
body.pelvis
...
The aim is for functional actor components to scan the actor components looking for specific tags and then executing C++ code accordingly. For example, rotating or moving the correct component in an arbitrary composite actor.
Is there a way to do it without having to introduce a UPROPERTY? That would require crating a new class of component. Ideally this would work on any component, and the composite actor can be built in the editor using the vanilla SceneComponents and StaticMeshComponents.
I don’t know if it’s possible to do in bueprints, but perhaps someone else knows if there is a way to do it.
But from a design perspective it may be a bit contradictory to design something for something general and still expect to be able to constrain that general thing. But if you need to associate components with tags, perhaps you can put them in a map or similar? If the map is on your own component then you can do whatever you want with it withuot touching the others