Why are scene files, AssetDatabase, etc. binary files?

Why are all scene files, AssetDatabases, and etc. in binary format instead of a nice plain text format?

I can’t imagine it was any easier for Unity devs to serialize everything.

Bump.

I ask because I would really like to implement my own version control system, but the AssetDatabase, guidMapper, InputManager, and all the others don’t play nice with version control since they’re BINARY files.

I must recognize that sometimes (putting joypad inputs), a ton of work consist in copy pasting. Doing it with text instead of using the Inspector would be… hand salvaging ! :slight_smile:

The information on this page may help you design your system:

http://unity3d.com/support/documentation/Manual/ExternalVersionControlSystemSupport.html

Though I don’t know if those steps affect the AssetDatabase, GuidMapper, or InputManager.

Yes, that’s a great tool - if no one is altering the assets (and by extension, the assetDatabase). The problem is that the asset db can’t be synced in binary format, so there’s no way to synchronize things like, say, new prefabs (which contain a lot of asset connections) without sharing the whole AssetDatabase. Doing that causes a medley of other problems, though, that version control is supposed to solve but can’t.

Also, I’m pretty sure that tool requires you to put all your assets in the Resources folder, which I’m unwilling to do.

To answer the original question:

  1. The are smaller
  2. They are faster to read, lighter on ram
  3. They can represent performant database alike structures
  4. It ensures that smarty pants don’t circumvent Pro only features like VCS

Damn.