Saving assets as text

Hmm, I’m not sure EVERY asset should be serialized to some text format, but certainly anything involving setup/configuration of objects, behaviors, worlds etc. So blueprints for example I think should have an external format, plus the world setup, object component setup etc.

I’ve asked for this same thing and the last twitch stream suggested that it IS possible in that they demo’d a pastebin style site which shared blueprint code. It seems completely do-able considering there is a reflection mechanism in place. My biggest concern isn’t necessarily about diffing assets (although that would be useful), its more about the potential for recovery from disaster. For example I recently had a screwed up scene in Unity that I tried to recover from source control, only to find that the mechanism Unity uses to serialize scene files doesn’t like missing references, basically a ton of my objects became invalid in the scene because of some internal ID changes and that destroyed about a weeks worth of work.

My point is, that say for a C++ file, I know that once that is in source control, if I ever need the project to recover from some kind of catastrophe as long as I have a recent backup of the source control version I can recover to that last save point. With a binary serialized version of assets, it might be that assets store references to other objects and hence if anything changes with regard to object ID’s or versioning I’m on very shaky ground.

I guess I might be paranoid after the Unity issue, maybe blueprint doesn’t share the same potential flaws. But given a few people on the forums have already said that their blueprints were corrupted and lost work due to that, it does concern me a great deal.

Maybe a post going over how to correctly ensure a build remains properly stored in source control would be useful Epic? I’d like to know what does and doesn’t require source control saving and what is automated for example. Does that exist?