8
$\begingroup$

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!

$\endgroup$
3
  • 1
    $\begingroup$ Not sure if this is currently possible with Blender, at least natively. Sounds like something that could be achieved with some custom scripting. Upcoming Blender 2.8 introduces better templates and startup preferences management, which may help a bit, though I'm not sure it fully answers your requirements $\endgroup$ Commented Oct 31, 2018 at 2:57
  • $\begingroup$ For a global config file: Couldn't you put a symbolic link to a global config file into the config folder of each user? Just an idea. The global config file could be located on a server and reached via FTP or SMB etc. Though that wouldn't solve your problem with the cascading configuration, so you'll most likely need some scripting. $\endgroup$
    – Ignatiamus
    Commented Oct 31, 2018 at 8:55
  • 1
    $\begingroup$ Scripting this should be fairly simple, but I fail to see the benefits in this. Is it really such a repetitive task to enable and disable addons and are there really so many addons and settings that they can not be managed by the CG artist using Blender? User preferences folder can be copied to different machines for easy set up, scripts folder can be setup to load common scripts and addons from a mounted network drive, what else is actually necessary? It's over-complicating things unnecessarily, the way I see it. $\endgroup$ Commented Nov 6, 2018 at 6:52

1 Answer 1

1
$\begingroup$

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.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .