I'd add a Position2D node to the end of the gun, as a child of the gun node, and then spawn the bullet and muzzle flash at its position. For the muzzle flash, you can probably just get away with already having the node(s) there, just make them visible/invisible when you need them. For the bullet, you just need to get the node's global position using something like bullet.global_position = get_node("gun/position2d").global_position
:smile:
Also, please do not add a topic-only tag like "(HELP NEEDED)" to your posts, as its against the recommendations of the forum. Generally every question and most topics are looking for help, so there is no reason to add a topic-only tag. Not to mention, anyone who was going to look at the topic will regardless of the topic tag. I removed the tag from the topic, but in the future, please avoid using it. Thanks!