You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue description:
I imagine you are going to say this is as expected as it's changing internal data types, but it ends up losing all data without any warning.
Pretend you have a scene with a default export:
export var life_span:=10
You have created many inherited scenes using this node,e.g.
For many of these instances you have changed the export value of this instance (as you see by the icon changed) and the value:
You then go into the code of the master node and change the default from the inferred int as you realised it should have been a float:
export var life_span:=10.0
What happens, without warning, is every single instance in your scenes that have an override are reset to the default value you just changed it to, and you might not even realised. But you've just wiped out over 100 nodes custom data despite the change not being an invalid cast or a loss of precision. The least I would expect would be a warning, but given the change hasn't affected the data there should be a bit more intelligence...
Steps to reproduce:
create export int
add some instances and override
change to float
The text was updated successfully, but these errors were encountered:
I feel the same principle should also apply to renaming exported variables; when instanced scenes are opened, the old value is discarded (although an error is printed to the console).
Likewise, think I've seen this in a GIP somewhere but can't find it at the moment
I'm fairly sure this has been reported in another issue already, but I can't find it right now.
Other than the one snoopdouglas mentioned, could you be thinking one I raised last year where renaming a node loses all editable children and their data?
Oddly enough, this bug I mentioned has happened to me half a dozen times and I thought I'd done something wrong until I realised the steps to do it :)
Haha, yeah for that kind of refactoring you pretty much have to get familiar with the .tscn format (and have a text editor on hand to do a global find+replace).
It feels a bit dodgy to have Godot automatically refactoring instanced scenes based on changes that'd just been saved to a script, though I'm unsure whether this is just my bad intuition. Perhaps a dedicated 'refactor' menu would be a good idea for tasks like these?
Godot version:
3.2.3 stable
OS/device including version:
Linux
Issue description:
I imagine you are going to say this is as expected as it's changing internal data types, but it ends up losing all data without any warning.
Pretend you have a scene with a default export:
You have created many inherited scenes using this node,e.g.
For many of these instances you have changed the export value of this instance (as you see by the icon changed) and the value:
You then go into the code of the master node and change the default from the inferred int as you realised it should have been a float:
What happens, without warning, is every single instance in your scenes that have an override are reset to the default value you just changed it to, and you might not even realised. But you've just wiped out over 100 nodes custom data despite the change not being an invalid cast or a loss of precision. The least I would expect would be a warning, but given the change hasn't affected the data there should be a bit more intelligence...
Steps to reproduce:
The text was updated successfully, but these errors were encountered: