Instantiate Collision Troubles

Godot Version

4.2.2

Question

Hi, I’m having an unusual issue with collision and instantiated nodes… specifically, I’m using instantiate to create a projectile, which is a node2d with spite, area2d and collision2d and is not part of the main scene by default, instead it is a preload by the player character node:
const BULLET = preload(“res://node_2d_bullet.tscn”)

Here is how I’ve produced the projectile (via the player character scene):

func _physics_process(delta):
if Input.is_action_just_pressed(“shoot”) and shootw == 0:
if animated_sprite.flip_h == false:
Gbl.facing = 1
var temposy = self.position.y
temposy -= 10
inst(Vector2(self.position.x, temposy))
shootw = 1
elif animated_sprite.flip_h == true and shootw == 0:
Gbl.facing = -1
var temposy = self.position.y
temposy -= 10
inst(Vector2(self.position.x, temposy))
shootw = 1

func inst(pos):
var instance = BULLET.instantiate()
instance.position = pos
owner.add_child(instance)

Code from the projectile node being loaded:
func _ready():
direction = Gbl.facing
$bullet.play()

func _process(delta):
position.x += direction * SPEED * delta

This does everything as I wanted, except the projectile only collides with the player character and the tilemap, the other node2d objects in the world can’t interact with it. I’ve put monitoring in body entered and even attached a raycast to the projectile, but it never detects collision with anything but the aforementioned.
Any ideas where I’m going wrong with this, should I be using a different node type perhaps?

Resolved this myself but leaving up for any that run into the same issue.

Node2d doesn’t have collision physics, I needed to change to characterbody2d and build from that.