Problem with freed objects

I don’t know why this code does include freed objects, someone knows how to fix it? Thank you.
<func update_enemies()-> void:
print(“ACTUALIZO LISTAS”)
var characters = get_tree().get_nodes_in_group(“Creatures”)
enemies.clear()
targets.clear()
for character in characters:
if not is_instance_valid(character):
print(“ESTE NO SIRVE”)
continue
else:
if character.enemy==true:
enemies.append(character)
else:
targets.append(character)
print(“enemies”+str(enemies))/>

You may want to also check if the Node.is_queued_for_deletion() returns true and skip it.

1 Like