While playing, I realize foo.hello string serialized field had a typo.
So, I changed foo.hello from “h3llo” to “hello”.
I stop playing.
I go to my Git client: The change is not there! The buffer was not … forgot the verb: Pushed?
Np, save and refresh (CTRL+R)… which is supposed to push the buffer for these pending changes.
I go to my Git client: The change is still not there!
→ Now, if I were to do this exact change while NOT playing? It would work as expected.
*To clarify, I am talking about changing the SO mid-play then saving after stopped play (not saving during play)
The Ghetto Workaround:
After step #4 above, I go to ANY ScriptableObject and I make an arbitrary change and unfocus the ScriptableObject (sets as dirty, I believe).
[Not necessary to repro] I CTRL+Z undo that change, or delete what I just typed.
I save+refresh.
Suddenly, it’s there.
So, the bug:
Seems like when you alter ScriptableObjs while playing, the SO’s are NOT marked as “dirty”. It’s somehow still buffered (if I make an arbitrary change outside playing and undo that change, my actual change still registers), but doesn’t recognize the change until after ghetto workaround step #3.
Repro:
Credit my account for my time for your bugs and you got it. Else, use your QA budget, buds - Any Jr Dev can repro this with incredible ease.
Did you try to hit ctrl + s after exiting play mode? I believe that changes aren’t saved during play mode because saving during play mode is not supported at all
Thanks for taking the time to write up your reproduction steps but please use the bug reporter to send this information over to us before writing about it in the forum. The forum is not supported as a primary reporting tool. Submitting a report with the information you provided here will guarantee that it gets looked into.
I’d rather publicize it here with the bug tag or it’ll be sent into the QA void to forever be buried because I didnt provide a repro project. I’ll take my chances - there’s a roughly 80 percent success rate posting here vs bug reporter tool. I have a feeling your QA team may be burying bugs that are not publicly disclosed that constantly and mysteriously closes as resolved or unproducable. Thanks, though. I’ve had bad experiences that I cannot unsee.
This is the reason why it’s best to post in forums vs submissions:
^ One example of countless times Unity will ninja close tickets as fixed when they aren’t. At least here there’s a public record not sweeper under the carpet. It’s all over Reddit: Unity has become infamous for this. Even my own submissions have done this before more than once. Remember UNET? Submitted about 30 bugs fully reprod. Not 1 fix. I’m on bug report tool strike. At least if it’s here, it’s immortalized and the public can see it.
This case was reported and fixed over a year ago. If you’re experiencing similar behaviour in later versions, chances are that something else broke and it regressed again. A bug report would be the best way to have this investigated.