Skip to content

CPUParticles2D Node deletes itself in inspector if One Shot is turned on, then Emitting is turned on, with queue_free() connected to finished() #107743

Closed as duplicate of#87287
@PIZZA-ALERT

Description

@PIZZA-ALERT

Tested versions

Godot 4.4.1.stable

System information

Windows 11, 24H2

Issue description

Title.

I have a Node2D scene with a single CPUParticles2D scene. The particles are set to 1.0 explosiveness to give a burst effect. I connected the finished() signal to queue_free() so that the effect deletes itself from CPU processing after emitting. I turned on One Shot in the inspector so that it only fires once, and wanted to preview the effect, so I clicked the Emitting box as well. This deleted the CPUParticles2D node from the editor. After this, it's just gone. No particles to show in-game or anything.

I would expect the node to get deleted on a per-instance basis while in-game, but not in-editor. Having nodes delete themselves in-editor can't be helpful to anyone, can it? Maybe this is intentional, but it seems very odd.

Thankfully I was able to close the editor and reload it to get my work back, as undo doesn't bring it back.

Steps to reproduce

  • Open project.
  • Go to hit_effect scene.
  • Turn on Emitting.
  • See that the CPUParticles2D node is gone.

Minimal reproduction project (MRP)

Space Shooter.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions