Skip to content

Add editor setting for instantiated scenes to have editable children by default - #70947

Open
realkotob wants to merge 1 commit into
godotengine:masterfrom
realkotob:kotob/show-editable-children-by-default
Open

realkotob wants to merge 1 commit into
godotengine:masterfrom
realkotob:kotob/show-editable-children-by-default

Conversation

@realkotob

@realkotob realkotob commented Jan 5, 2023 •

Copy link
Copy Markdown
Contributor

Part of the usability changes for godotengine/godot-proposals#3248

I added a new editor setting that is disabled by default, so this is entirely opt-in.

Screenshot 2023-01-05 at 14 47 45

I added code for this in 3 places, so that it would work with the Instantiate button, with dragging into the scene tree, and with dragging into the viewport.

2023-01-05.14-44-47.mp4

Let me know what you think, I am open to feedback.

@realkotob
realkotob requested review from a team January 5, 2023 13:50
@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch from fc8ca0d to d227998 Compare January 5, 2023 15:41
@realkotob
realkotob requested a review from a team as a code owner January 5, 2023 15:41
@Calinou Calinou added this to the 4.x milestone Jan 5, 2023
@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch from d227998 to 0980ce7 Compare October 20, 2023 13:02
Comment thread editor/scene_tree_dock.cpp Outdated
Comment thread editor/plugins/canvas_item_editor_plugin.cpp Outdated
@FyiurAmron

Copy link
Copy Markdown

@realkotob this looks great - are you still maintaining it or is it abandoned though?

@Repiteo
Repiteo requested a review from a team as a code owner February 17, 2026 20:11
@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch from 0980ce7 to be5271a Compare April 14, 2026 14:50
@realkotob
realkotob requested a review from a team as a code owner April 14, 2026 14:50
Comment thread doc/classes/EditorSettings.xml Outdated

@KoBeWi KoBeWi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implementation looks fine.

Could use a review from usability team. Also I wonder if the setting shouldn't appear in the Scene dock's options menu, next to other tree-related settings.

Comment thread editor/docks/scene_tree_dock.cpp Outdated
Comment thread editor/settings/editor_settings.cpp Outdated
@KoBeWi
KoBeWi requested a review from a team April 14, 2026 16:06
@passivestar

Copy link
Copy Markdown
Contributor

Isn't the linked proposal better addressed by #84018?

The proposal mentions that scene clutter is an issue, which this checkbox won't solve, and it only suggests adding this checkbox as a solution to the problem of having to right click editable children all the time, which #84018 does solve because exposed nodes are visible in the tree

@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch 2 times, most recently from 2b14676 to 117d66b Compare April 14, 2026 18:35
@realkotob

realkotob commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor Author

@passivestar I just saw that PR and I agree that it is a good contribution, but I still have a concern about that PR.

First of all, the number of clicks required for quick iteration will increase instead of decrease after #84018 is merged, because instead of just right clicking to making all nodes exposable by default as we can now, I would have to select which ones I want to expose. Even in the best case if there is an "Expose All" button that is still 3 additional, extra clicks: open panel, press expose all, save & close.

So that means even after that feature is merged, it would be nice to have an editor setting that automatically makes all nodes exposed by default, then users can then go into that scene to de-select which nodes are exposed when they want to get more control and tidy up the view.

If this PR is merged (and I think it should, because it makes life much easier), then it can be re-purposed later to have the same purpose but affect the new Exposed Nodes feature.

Edit: Similar concern voiced by AdriaandeJongh here #84018 (comment)

@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch from 117d66b to 0c2ebe2 Compare April 14, 2026 18:55

@KoBeWi KoBeWi left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last comment (check above), otherwise looks fine.

@KoBeWi KoBeWi modified the milestones: 4.x, 4.7 Apr 14, 2026
@Nikola526

Copy link
Copy Markdown

The point of that PR is not to reduce the number of clicks, but to promote encapsulation and minimize scene tree clutter. The number of cases where I'd want all the nodes of scene to be editable is close to zero. I don't mind this PR being merged, just as an option, but I sincerely hope we don't get this in place of #84018.

@AdriaandeJongh

Copy link
Copy Markdown
Contributor

I sincerely hope we don't get this in place of #84018.

no worries! these two PRs are not mutually exclusive at all.

@realkotob

realkotob commented Apr 15, 2026 •

Copy link
Copy Markdown
Contributor Author

@Nikola526 Yes I also hope both PRs get merged, as they really address different modes/phases of development. Sometimes you want to just have everything editable by default (game jams, quick prototypes) and sometimes you want to be very explicit about what you are exposing (during production, working in teams, etc).

This is similar to the difference between using static typing in godot or not: sometimes you just want to get things moving, other times you care about correctness.

As mentioned above, the ideal scenario is that #84018 gets merged and we get to pick to have everything exposed by default when a node is set as editable, and then we can override that to select which ones we want to keep exposed (so that new added nodes in that scene do not get automatically exposed as well).
This would be the best of both worlds approach and maintains cohesion with what we have now in the public release (when something is made editable everything is exposed).

@Repiteo Repiteo modified the milestones: 4.7, 4.8 Apr 22, 2026
@realkotob
realkotob force-pushed the kotob/show-editable-children-by-default branch from 0c2ebe2 to 8241a4e Compare September 3, 2026 17:01
@realkotob

Copy link
Copy Markdown
Contributor Author

Rebased and fixed conflicts, but there is an Android editor build that failed due to a network error, a maintainer needs to re-run it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants