- Home /
"Asset Serialization Mode" - Is that only during development or runtime as well?
Greetings,
I can't seem to find any information about this. But when you switch serialization mode to 'Binary' or 'Force Text', does that apply to in-editor serialization only? or does it also apply to runtime serialization as well?
By runtime serialization I mean the serialization that gets invoked when instantiating GameObjects where it has to walk the serializable fields to correctly set the values in an instance from a source. Also deserialization when a scene loads.
If setting it to 'Force Text' means it gets applied to runtime as well, does that mean one could potentially beneift speed from switching to 'Binary' on build time to get faster runtime serialization/deserialization since Binary is always faster than Text? Would that mess up asset GUIDs?
(I bolded my questions so it's clear)
Thanks
The docs only say binary is mire space efficient, but nothing else. Interesting question
Answer by ifdef_ben · Jun 21, 2017 at 08:40 PM
I'm pretty sure the 'Force Text' option was created to allow assets' conflict resolution in Source Control like Git. So all your prefabs, scenes, meta-files and other .asset files are saved in YAML text format.
So yeah, this probably has a negative performance impact in the editor, I'm talking here about edition mode and runtime in the editor only. BUT, when you build your game Unity will serialize everything in a few big binary Resource files. I compared the size of my compiled my project with and without force-text serialization and the project size was the same in both cases (it would have been much bigger if the build asset where still in text format).
I hope this answers your question.
Also if you're worrying about Forced-Text messing up your GUIDs I think you should take a look at this very instructive answer. Basically yeah doing the switch to forced-text can mess up some of your assets, but with a careful and methodical approach you shouldn't loose any data.
Your answer
Follow this Question
Related Questions
Delete a serialized binary save file 2 Answers
Got a Problem when serializing Class Dictionary with Custom Editor 1 Answer
ScriptableObject loses data after Reload 1 Answer
Custom assets give Missing (Mono Script) 0 Answers
Assistance needed with serialization, inheritance and scriptableobject 1 Answer