Since Blender is a software capable of so many things, I figured that having an interface capable of doing everything at once also clutter the experience. Ideally, we would have a system set up that would allow us to choose a workflow that we want to use and only the tools that we need would be active for that session. Let’s say that I use Blender for 2D drawings with Grease pencil, VSE video editing and a General 3D workflow from modeling to shading, texturing, and ending up with lighting. Sure, we have workspaces for this, but for anyone of those workflows more than one workspace is most likely needed. Thankfully, I found out about application templates.
To create the simplest application template possible, we start by customizing the Blenders interface. We save the blendfile with the name “startup.blend” put it in a folder we give the name our application template should have and zip that folder. Then we open Blender and click the Blender icon next to the file menu and choose “install application template” Browse to the zip file and choose it. To use it, go to file -> new and choose your template.
You can think of an application template as a set of default settings for Blender. It is a package of files that will contain a custom setup so that when you choose to run the application template Blender can be set up in a certain way with custom keymaps, add-ons, themes, layout and more.
It can have its own startup file allowing customization of the interface. It also allows for a preference file. This is just another Blende file that some other settings are drawn from. According to the blender manual, these are:
With these two files alone, we can do quite a lot of customization from within Blender. But there is, even more, we can do. If you are into Python scripting and the Blender API, you can add a file called “__init__.py” and register functions specifically for your application template. We are just going to touch on python briefly towards the end. Everything else is programming free.
The last feature we can add is a custom splash screen image. This is more of a branding thing than anything else but it is neat if we really want to make our own custom template.
You should use application templates when you need a custom setup that cannot fit into a single workspace. Let’s say that you use Blender for very different kinds work. Then it's nice to set up the interface according to your needs for that working session.
For example, I sometimes record videos to explain how certain things work in Blender, like making tutorials. In those cases, I most likely want a default Blender set up to make it easy for anyone to follow along. But I also want a screen cast add-on for Blender and disabling add-ons that clutter the interface.
Being able to set this up once and then just activate such a template every time I need to record something in Blender can save me some time in the long run.
There are other examples of where application templates could be helpful. Maybe you are in a large company and they need Blender for some specific part of a pipeline or workflow. Then you can set up a specific application template for that and have only the functionality needed visible and readily available.
Same is true if you just use Blender for different things on a hobby or freelance basis. A template can help you get started quickly. Let’s say that you do youtube videos and use blender as your video editor. You can set up an application template with all your default assets loaded from the start. Resolutions setup and a strip with your custom intro added to the timeline already along with any necessary add-ons enabled. Just import your footage and get going.
Blender comes with a few applications templates already included. Go to file-> new and you will see the list of templates. Just pick any of them to load that specific template. Any application template that we install will also be added to this list.
To install a new application template, click the Blender icon next to the File menu. At the bottom, you will find “Install application template”. Blender will expect a .zip-file when installing a new template.
When using an application template the defaults coming with the template are never overwritten. Instead, changes are saved separately in user-defined configurations so that the default application template can always be restored if needed.
At its core, an application template is just a handful of files packed together in a neat zip-file. The zip file can contain multiple application templates each one in its own folder inside the .zip file. Each template then has one or more of the following files.
The startup file will act as out factory defaults for the template. It dictates the layout of the application, workspaces, default settings and pre-loaded data for example.
The userpref.blend file will dictate certain preferences. These are themes, add-ons, keymaps, and viewport lighting. Basically, all preferences that can be imported and exported. You will find these different preferences if you got to “Edit -> Preferences” and you will find a section for each of these types of data. The viewport lighting will be under “Lights”.
The slash and splash_2x files are just two different resolutions of the splash screen. They should be 501x282 and 1002x564 respectively and as noted above the python file is for more advanced customization that we won’t cover.
Let’s focus on the startup and userpref files and set up an application template that can be used whenever we want to make a tutorial as our example.
These are the changes that we will make:
It’s not much but it will do for a demonstration. I begin by opening Blender and going to file -> defaults -> “Load factory settings”. “CTRL + Shift +S” to save a new file. Call it “startup.blend”. That creates a startup file that will be used when running our application template.
Then I will go to preferences. Go to Edit-> Preferences. Here I will focus on the preferences that are controlled by the userpref.blend file. Setting back the theme to “Blender Dark” if I changed it, reverting any keymap changes if I made any and disabling any add-ons that distract a viewers attention.
Next, I will download and install a screencast key add-on and set it up in the position and with the settings I want. Then I save this .blend file naming it “userpref.blend”
Now we can go to the location where we saved these two blend files and create a folder. The folder name will be the name of the application template. I will call mine “Make_tutorial” for instance When displayed in Blenders interface, the underline will be removed and replaced with a regular space, but the folder name where the template is stored with have an underline.
Move the two blend files into the folder and make a zip archive. For this, I use a program called 7-zip. The zip file should look like this:
For any splash screen images or python files, they go along in the same folder as the blendfiles.
Now our package is complete and we can use the procedure laid out above to install it. Just go to the blender icon and choose “Install application template”. Browse for the .zip file and choose it. Now go to File -> New and you will see your application template in the list. Just click it to load blender with the settings we made.
When Blender installs the application template it actually moves any folders inside the .zip file to this location. If you are making an application for yourself only, then you don’t have to zip the folder. You can just create or move it here instead.
We may want to have our application template run by default. If so, we can make a special shortcut for it. Copy your existing desktop shortcut to Blender and rename it, preferable to your application template name or something that is recognizable to you. Then right-click it and go to “properties”. Change the “target” to:
“C:Program FilesBlender FoundationBlenderblender.exe” --app-template Make_tutorial
Add the command outside the quotes. Now when starting Blender from this new icon the chosen application template should load by default.
For the example above, I also tried to change the resolution scale preference of the user interface so that it would be easier to see what was happening on screen. The resolution scale can be found and set manually in user preferences under the interface section at the top.
However, user preferences that are outside the scope of userpref.blend are shared globally in Blender and changes will affect any application template or default setup. I found a way to change the resolution scale when loading the application template but not a reliable way to change it back after the program was closed or another new file was loaded.
This goes for all preferences. Here is the "__init__.py" file that I ended up with. It is very basic.
import bpy def register(): bpy.context.preferences.view.ui_scale = 1.5 def unregister(): if __name__ == "__main__": register()
The code you want to execute on load is put in the register function. Using the Blender API I found the property corresponding to the resolution scale and set it to 1.5. I will have to change it back manually every time I used this template. But it is better than forgetting about it and ending up with footage that can't be seen properly.
I guess I could add a similar script to all other application templates I am using but if there are a lot of templates it can become hard to manage.
Application templates are a great addition to Blender for speeding up specific workflows and streamlining the interface for any given task. It is simple with just a few files added into a folder. It also has limitations with most of the user preferences being global. It probably makes sense in most cases since a lot of those settings depend more on your computer than on Blender itself, but it had been nice to be able to make additional preference changes as well.
If you like this kind of content please consider joining our e-mail.
Thanks for your time.