I am learning godot 3d and rewriting my TD game in 3d to see which one I like better.
I have my 3dpath and pathfollow working, I have the main shooter facing the enemy as it goes down the path.
But the bullet if the shooter points down it fires properly, as the shooter rotates the bullet gets more and more off its facing direction till if pointing up it shoots sideways.
Shoot down= good
Shoot down right or down left ok
Shooting sidewise or up bullets goes off 90 degrees. See image:

This attached file is a working experiment- to fire a bullet press the up arrow.
firing bullet code is in level0 script, bullet code in bullet script. Level0 is the main scene that runs.