Dec 30 Update and Optimization exploration
I've been trying to do further optimization due to large fps drops on my budget pc on empty scenes with just a few character controllers. This looked like it was mainly from two things, creating rayshapes/raycasts spontaneously (its ok if they're already created) and too many bones on one character controller. I went from 112->58 bones on my main character, and this gave me back about 20 fps. Removing all runtime created rayshapes and raycasts was also about 15 fps. Notably, my character controllers are fairly complex at this point, with rayshapes for hurtboxes and attack areas, and the enemies constantly poll for player location - yet these were not the bottlenecks (I tested out disabling them) - however, I do set the navigation polling for enemies to every 2 seconds and not every frame. I also moved all processing for the state machine from a node tree to internal classes, but I didn't notice too much of a difference. It gave me a chance to refactor a lot of the code ...