From what I understand of Godot and how the physics are setup, the reason you want to use _physics_process
for anything physics related is so the physics you manipulate through code are in sync with the rest of the physics world. Especially for fast moving objects or time/gameplay sensitive physics nodes (bullets, triggers, etc), you generally want the physics you are manipulating to react to the "exact" state that physics are in. Without this, you could have issues like bullets traveling through the edges of players, as the physics state the bullets are using have the players in a different position than the render, leading to a disconnect between the physics and visuals.
With all of that in consideration, if your physics world does not change that often and the physics does not need to be perfectly in sync, then using physics functions and the like outside of _physics_process
is probably safe enough. If you are not having any issues right now with using physics related queries outside of _physics_process
, I wouldn't worry about it and move on. I might just leave a note in the code mentioning that it could potentially become out of sync with the visuals, in case you find it is causing a bug and need to change it later.