Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overridden instance property loses overridden status if scene property is changed to matching value #18241

Closed
AlanLynn opened this issue Apr 16, 2018 · 2 comments

Comments

@AlanLynn
Copy link

Godot version: v3.02.stable.official

OS/device including version: Windows 10 64-bit

Issue description:
Expected behavior: Overridden instance properties remain overridden until the reset button is pressed.
Actual behavior: Changing a scene property to the same value as an overridden instance property causes the instance property to no longer be considered overridden.

Steps to reproduce:

  1. Load the project from below. Scene 'label' is a label with Text set to "scene-value". Scene 'main' contains 3 instances of 'label'. Label3 has Text set to "override-value".
  2. Open label.tscn and change Text to "override-value".
  3. Save the scene.
  4. View scene 'main'. Notice that Label3 no longer has a reset button for its Text property.
  5. Switch back to scene 'label'.
  6. Change Text to "scene-value".
  7. Save the scene.
  8. View scene 'main'. All labels now have Text set to "scene-value".

Minimal reproduction project:
Instance Properties Bug.zip

@ttencate
Copy link
Contributor

ttencate commented May 1, 2018

I think this might be intended behaviour, but I agree that it's confusing and unexpected in this case.

I also agree that a more consistent behaviour would be to always keep the overriding value, even if it happens to be the same, regardless of whether the parent was changed to match the child or vice versa. If people want to reset to the inherited value, they can use the reset button for that.

The whole point of scene inheritance is to facilitate changes to the parent scene, so such changes should be "safe" regardless of what values were configured in inherited scenes.

@akien-mga
Copy link
Member

This is described more in-depth in this proposal, so I'll close this issue to keep discussion focused there: godotengine/godot-proposals#2280

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

No branches or pull requests

3 participants