Just found a bug…
- I create a blueprint structure “MyStruct” in editor with a float property “Foo” and set it’s default value to 0.
- I declare a property of type “MyStruct” in my blueprint actor class and I change value of “Foo” to 0.1 inside actor blueprint.
- I create an actor of class in my level and I don’t change value of “Foo”, it’s still 0.1.
- I close editor, then open it and load my level again.
- editor loads default value from structure instead of loading it from my actor, so when I open level again, value of “Foo” is 0 and it’s now marked as “changed”!
I use version 4.7
Hope it will be fixed! Thanks!
I wasn’t able to reproduce this in 4.7.2. To test, I created a new Structure “MyStruct” with a float variable, “Foo”, set to 0.0. I then created a new Actor Blueprint “MyActorBP” with a MyStruct variable, “MyStructVar”, and set its Foo default value 0.1. I dropped a MyActorBP instance in my level, saved all, and closed editor. When I reopened, MyActorBP retained its Foo value of 0.1.
This sounds similar to this bug report:
But that involved using a Parent BP with a MyStruct variable, and this occurred in a Child BP under certain circumstances. Does that sounds like what’s happening for you? Is it possible I’m missing any steps to reproduce this? If not, does this happen in a new project for you, or only your current project?
I just tried this on a new project and it didn’t happen. But it does happen on project I’m working on. So, i am attaching a content folder here.
- Open Atmosphere/Maps/AtmosphereDemo
- Select AtmosphereBP2 actor in world outliner.
- Try to reset ScaleHeight and Density values under AtmosphereParameters/MieLayerParameters to their default values (which are 10 and 0.1 respectively)
- Save level and close editor
- Open it again and check their values.
I tested this chunk in a separate project on 4.7.1 and bug appears. Hopefully you can reproduce it too!
Thanks! I’ll check it out shortly. What type of project should I test this in, or does it matter?
An empty blueprint project is ok.
Okay, I’m seeing same thing. This actually seems pretty similar to another bug I entered awhile ago, so I’ll check on that. Was this asset first created in an earlier version of engine, and then converted over to 4.7?
blueprint classes are definitely new, I created them just yesterday. map itself was imported from 4.6 I guess but I’m not certain.
Well I did another test. I created a new map and placed AtmosphereBP2 actor on it. Then I saved map and opened it again. values were intact. So whatever bug is, it’s connected to umap file I provided. On new maps everything is ok.
I tested this again in our most recent internal build, and it appears that this has already been fixed. I brought your content folder into a new project, opened included map, and set values of ScaleHeight and Density to 2.0. I closed and reopened editor, and both remained at 2.0. I restored both to their defaults, closed and reopened, and both were back to 10 and 0.1.
When I tested in 4.7.2, I still had problems with values resetting during restart, even when I used that BP in a new map, so I don’t think it’s related to map.
For now, I would recommend recreating Struct and replacing all references to it in Blueprint, and try again.
Alright! Thanks for information!