add object actuator compared to using scene.addObject?

Anyone know the intricacies, on why to use the add object actuator if you can use scene.addObject and save the noodle?

Thank you.

Why using the Actuator
A) You can configure it rather than code it.
B) You get a nice GUI, including interactive value validation (that the source object already exists)
C) You do not need to write Python code for such a simple task

Why using the Python API:
A) You need additional dynamic behavior at the same abstraction layer
B) You want to add a dynamic number of objects within one frame
C) You dynamically decide what object to copy from - here is a gray line as you can reconfigure the actuator via Python too.

On a superficial level I think there is little difference, or at least I have never seen one. There might be differences in certain rare situations, but for me I just swapped all my bricks for code and never had any problems. Since the Python functionality of the actuator can be matched by general Python anyway they seem interchangeable.

I could though be living in complete ignorance though :wink:

Edit: or you could just listen to the ninja Monster!

Performance would actually be slightly better, because it is programmed directly into the C++/C# (what’s blender coded in?) rather than being converted then processed. In terms of real world performance, it’s negligible.

I do not think there is a noticeable performance difference. The final code - the one that performs the add - is the same. It is just triggered differently. These are two sides of the same coin.