Well, I’m back at this old song and dance again with actor components. I don’t understand how you would use them in OOP. Each actor component seems to have its own special constructor method that has to be called from an Actor and its strikes me as being super weird why you can’t have a class variable of a base actor component class that can be dynamically and then instantiate whatever that component is. This is hard-coded object instantiation at its weirdest.
In my case here, I have a common actor component class defined in C++ called Buff Component which is used virtually to create other buff components. In blueprint, I have an actor called Pickup Distributor which creates these buff components on actor overlap for the overlapping actor. Pickup Distributor blueprint has a variable of Buff Component which can be defined to be any buff component type according to the Pickup Distributor’s instance. But because of the current nature of Add Component, I seem to be stuck at a design pattern issue where I’d have to hard-code every possible buff component type that could be spawned.
So I ask again, am I even using Actor Components correctly? It seems like every time I try to use them for something creative, I find using normal Actors FAR less frustrating.