Hey,
Is there a performance impact if I use a BP (e.g PlayerController) which is created from a custom C++ class? or do I still have the C++ performance?
Hey,
Is there a performance impact if I use a BP (e.g PlayerController) which is created from a custom C++ class? or do I still have the C++ performance?
If I understand your question correctly, the code you’ve developed in C++ is what is executed when you create a Blueprint based on that C++ class, so the performance of your C++ code remains the same.
I just did this, commenting out the creation of my mesh from the C++, creating a blueprint from that code, and statically setting up the mesh in the derived blueprint. I can see no difference in performance.
To elaborate a bit: when you create Blueprint inheriting from C++ class, only functions that are implemented in blueprints will be executed through virtual machine.
When native C++ UFUNCTION is called, the reflection system checks whether this function is overriden in blueprints, if it’s not, it becomes a simple c++ function call.