godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.71k stars 20.12k forks source link

Removing .tscn from the file manager does not remove it from Scene #92945

Open JekSun97 opened 3 months ago

JekSun97 commented 3 months ago

Tested versions

Godot 4.3 beta1

System information

Godot v4.3.beta1 - Windows 10.0.19045 - GLES3 (Compatibility) - Radeon RX 560 Series (Advanced Micro Devices, Inc.; 31.0.14001.45012) - Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (4 Threads)

Issue description

When we delete a scene (.tscn) from the file manager, this scene is not deleted from other scenes, I checked this on an empty Node3D node, and this still happens.

This only happens if we do not save the scene to which we add a new one; if we first save this scene, and then add a node and delete it, this problem does not arise

https://github.com/godotengine/godot/assets/130399274/545454c2-f2b9-4068-9624-2e2683438645

When opening a scene that doesn't exist, the following errors appear: err

Steps to reproduce

  1. Add any scene(2) to another scene(1)
  2. Don't save the scene(1)
  3. Delete the scene(2) from the file manager, the scene(2) has not disappeared from the scene(1)

Minimal reproduction project (MRP)

testskinandbones.zip

DylanCheetah commented 1 month ago

I can confirm that if I add a scene to another scene and then delete the child scene from the file dock, then the child scene remains in the scene tree for the parent scene. However, I do get a dialog box warning me that the child scene is in use by the parent scene before I delete it. Also, if I open the parent scene after deleting the child scene, it warns me that there are missing resources.

I believe it would be possible to change it so it removes the child scene from all scenes that reference it, however it could potentially incur sizeable overhead to do so. Because this feature would require going through all the scenes in the project and checking if they reference the child scene unless what you're suggesting is to just check all the open scenes @JekSun97 .