how to configure facility wide configuration files We'd like to integrate Blender into our pipeline. With other software packages, we usually have cascading configurations:


facility (eg configuring temp folders and common plugins)
project (eg project specific settings and plugins)
user (eg user specific shortcuts and plugins)


Usually that's done by appending paths to an environment variable. In the example of Nuke, this would be something like follow:

NUKE_PATH="//path/to/user/config://path/to/project/config://path/to/facility/config"


Where Nuke would then search through from right to left and execute/load anything in those folders.

How would one achieve this for Blender? I've seen this page which makes it sound like you can only define 2 explicit paths (user and system) but no cascading paths. Is that true? It also seems like the system path is only used for '/datafiles/' and '/scripts/', but not for '/config/'?

So how would one achieve a facility wide base userprefs file, that sets the file paths, some settings (eg 'load UI': false), some UI layouts and some plugins? And is it possible to have this then extended by a project configuration which adds or overwrites the facility settings?

Any help or advice is much appreciated!
You can do such a multi-leveled setup using scripting and automatically run script on each startup. Just in scripting panel you can create a new text block, name it with 'auto-config.py' (the extension have to be py), and in that script check whether or not proper blend files, addons, and custom presets are accessible.

In order to run the script with each Blender start, you have to mark 'register' checkbox in Text Editor. Then, save your blender startup file with this script. Next time, when Blender will be run, it will automatically run the script too, and what this script will do depends entirely on you. So, you can open any text files with custom configurations, import data from blend files and so on, using your multi-level path configuration or even cascading blender files setups. This will require some further coding.