Blender Projects as multiple files ready for version control
My first steps with blender where to work directly with the meshes and apply modifiers and stuff, then modify the mesh, then add other modifiers... after some time you all know it: you can't go back anymore and you can't revert one thing while you want to keep the other thing.
So you start copying versions of files and as they can grow to large files (I consder mega bytes as big if you think about version control and sharing work). You loose track about what worked and what not and where it was still good and what was bad.
As a developer I'm very much addicted to version control. You change something and you don't know if this refactoring will lead to something? Create a branch commit it and work on this urgent issue you got from the customer.
Why not have a blender project in multiple files? Say you have a keyboard.blend in a separate folder and this files just defines where which file is found. If it is necessary there could be compiled files in a hidden folder but the files itself could be very specific in a readable text format.
It should more or less follow the data structure you see inside a blender file but as text files. But I have to admit that I have no clue where the size from such files is coming from and if some of these files as text would just be too big. The file itself does not have to be a xml file or something else that needs a lot of parsing but it would be fantastic if you could see what got changed in a diff.
I think the possibilities of such a solution are clear to everyone and a lot of people could think the same as far as I have read here.
2 Comments
This is pretty much the same request as Feature Suggestion: Project Version Control — Right-Click Select and the answer will be pretty much the same: it's not the DCC software's job.
In VFX, animation, and game development, project files are rarely small or self-contained. A few megabytes is trivial, production scenes often involve gigabytes of geometry, caches, and textures. And most importantly: production files are not standalone : they’re part of a network of assets (characters, props, environments, shots), each maintained and versioned independently with ever-changing cross-referencing.
Studios handle this by combining version control, asset management, and structured publishing workflows. Here's a quick look at common tools:
A few more distinctions:
Game studios lean toward solutions like Perforce, which handles binary files and enforces exclusive checkouts.
VFX/animation studios prefer task-based workflows with asset publishing and approval systems (ShotGrid, FTrack), often integrating with a database and a structured file system rather than true version control.
So instead of checking files in/out like with Git or Perforce, artists publish versions of assets into the pipeline, and each department picks up those versions as needed. It’s more like a collaborative relay race than direct file editing.
Good, detailed response. But don't forget, Maya has (had?) an ASCII file format, which can be used (in certain workflows, e.g., with geometry held outside the main file) for versioning. An argument could be made that adding an ASCII format would be within the DCC's purview.
There have been multiple times I wish Blender had a text-only, native , export format for various workflows over the years. At one point, maybe USD (usda) could fit this use case, but last I checked, it wasn't yet 1-to-1 with Blender's native file format.