Professional workflow - asset and material management

We’re considering using Blender for a relatively big project. Multiple people will be working on this project at the same time. We are thinking about the following approach: we will have 22 separate blend files that contain different scenes. These scene files use linked objects which in their turn have linked materials. Some people will be working on creating materials in separate files. Other people will be modeling assets and applying materials. Then again someone else will be creating the scenes and linking in the assets/models (all at the same time).

This image shows the workflow. One material per .blend, one object/collection per .blend (but can link to many materials) and then a scene file that uses many objects.

Using this approach seems to work well. We’re linking materials into the asset/model .blend files and linking the assets as collections into the scenes. Though we have one issue we’re not sure how to solve.

We want to bake ambient occlusion maps. We can bake these from our object/assets files but not directly from our scene files. The BAKE button is disabled in the scene .blend files. And because our scenes contribute a lot to the ambient occlusion it doesn’t make sense to bake AO in the .blend files where we create the objects.

Does someone has advise on managing materials and objects for bigger projects? Our goal is that we can change the vertices of a model and they’re automatically updated in scenes where they’re used. We want the same with materials. And most importantly we want to be able to bake ambient occlusion maps from the scene files.

We’re using blender 2.8.

Related posts:

1 Like

Used that approach in a larger project over the last 3 years, it served me well. Of course collections still were groups back then, and I did not have to deal with AO maps.
Keeping materials in separate files can come in really handy as it allows you to switch all the materials in all your assets at once by just relinking materials on filesystem level, at least if you invest a bit of thinking in how to organize your directory hierarchies.

Having collected a bit of experience concerning that library linking workflow and its restrictions now I’d try to use some Python snippets to force my way around Blender’s grayed out buttons in order to do what I want to do.
Blender behaves a bit overprotective and wants to keep you from messing around with linked data blocks, but it only does so on UI level. Nothing prevents you from accessing whatever you want under the hood, via Python API calls. In retrospective I don’t know why it took me so long to find that rather obvious solution in the end, but in the instant I did, a lot of previously annoying issues became nobrainers.

The approach became part of my regular workflow, scene files dealing with linked characters usually provide a scene-specific Python script executed at load time which enables/adds specific modifiers, Physics settings or whatever feature otherwise unaccessible via ordinary proxy mechanism.

I’d be surprised if your AO baking problem could not be solved the same way, I know for sure linked material datablocks can be accessed as I wrote a script which did exactly that too.