Scene components have the added cost of transform calculations. If you can pick your poison then actor components are better in that regard as the don’t physically exist on the actor but just just data containers with functions.
Though if it is separate logic then at that point why not go the route of the state tree. The behaviors are basically like actor components, just not stuck on the actor but condensed in the state tree.
They have pretty good visibility
But dynamic modifications might be limited (haven’t tested out if it’s extendable in c++)
You can have external state trees though
