Godot version:
All
OS/device including version:
All
Issue description:
The issue is very hard to explain so below I have included instructions on how to reproduce the problem so that you can understand it better. The instructions are a way to illustrate this in an easy to see fashion but this can be reproduced many different ways.
Steps to reproduce:
Why ?
The Editor has stored the L / T values of the KinematicBody2D's Camera2D because it's children can be edited and they have changes.
However, the R and B are the same as 'normal', or the original KinematicBody2D, so they are remembered as being the same.
When the original KinematicBody2D's Camera2D's values changes, the ones which were the default in the _Node2D.tscn_ scene with the KinematicBody2D with editable children have changed to the 'new' default values.
This, in most cases is not wanted.
However, if the editor was to change in a way that 'copied' the Camera2D's limits, then this would act like a copied version, and no longer linked in any way to the original.
The feature that I think is missing that you can't make some children indepentant of an instanced node.
What if you made a copy of the node which is no longer linked and you wanted to change the script of the all ?
I feel like this is quite a conundrum ...
Minimal reproduction project:
I suggest that an option to make a child node of an instances node with editable children 'exclusive' / 'unlinked' / 'independent' were to be implemented.
The feature that I think is missing that you can't make some children indepentant of an instanced node.
Have you tried right clicking the instanced scene, and selecting "Merge from scene"?
But how would you do this on editable children ? This method seems to just make a new node which is merged.
To be honest, having only some children of instanced scenes be independent sometimes seems like a really niche use case.
My suggestion to you is that if this situation occurs often for a particular scene, you should have the child node as a child of the instance rather than a child of the scene. Delete the node on your KinematicBody2D scene and add it to the instance in the Node2D scene. That way this node is always independent, but you do have to remember to add it each time if you want it on any instance.
Or, even better, you could have a script on the KinematicBody2D that instances a Camera2D with the "default" settings if it detects that it's missing it. So you only manually add a Camera2D if you want it to be an independent one on that instance.
Bug reports should go to "godot" repo, not "godot-proposals"
This is a bug report. It doesn't follow the proposal template, but the Godot issue template. I would suggest that we move it there.
It uses a bug report template, but it's actually a proposal. The described case works as intended.
I don't get the point of this issue. Is the camera just example or are you actually going to use multiple cameras per scene with different limits (which doesn't sound useful)? In any case, this problem can be avoided if in the instanced scene you set values that are different from the defaults. Implementing "unlinked" nodes would be rather unreasonable, especially because I doubt it's doable with less than 100 lines of code.
Also, what aaron suggested.
So I have a Player with the Camera2D attached to it. I instance the Player and this gives me the Camera2D as well. I find it simpler that way.
Most helpful comment
To be honest, having only some children of instanced scenes be independent sometimes seems like a really niche use case.
My suggestion to you is that if this situation occurs often for a particular scene, you should have the child node as a child of the instance rather than a child of the scene. Delete the node on your KinematicBody2D scene and add it to the instance in the Node2D scene. That way this node is always independent, but you do have to remember to add it each time if you want it on any instance.
Or, even better, you could have a script on the KinematicBody2D that instances a Camera2D with the "default" settings if it detects that it's missing it. So you only manually add a Camera2D if you want it to be an independent one on that instance.