There is no official way or launcher that allow us to install and manage multiple versions of Blender at once. But since there are so many releases for different needs and with new features coming all the time, the need for a solution to install and manage multiple versions of Blender increase.
To install multiple versions of Blender, we can use the portable .zip version and add a folder called config inside the version number folder. This way all files will be contained inside the program folder and we can have as many parallel installs as we need without them interfering with each other.
This is the basics of having multiple versions of Blender installed alongside each other. But what if we need a way to manage these installs?
How can we share settings and add-ons between different portable installations? How can we update and add new versions that inherit our settings?
In this article, I will share the system I use to manage multiple versions. There is some initial set up and some things we need to know. But once it is done, it is a simple system to use with few extra moving parts.
I will explain the setup first. Then we will cover how we manage different tasks such as installing a new version of Blender into the setup, removing or in-place upgrading etc. After that we will discuss some potential problems, we might run into and how those can be dealt with. In my opinion though, the benefits far outweigh the downsides.
We will cover the Windows platform. You can do similar setups on Linux and Mac as well. So, if you are on any of those platforms and a flexible setup interests you, I still encourage you to continue reading.
If you feel that this is not for you, but you still need help with a basic installation you can find instructions in the Blender manual here for all platforms.
External content: Installing Blender, Blender manual
By the way, if you are looking for a way to install and manage add-ons instead, this may be the article for you.
Related content: 30 Blender addons (install, manage, free and paid)
For asset management, check this out.
Related content: How to do Asset management in Blender
We will work around the portable versions of Blender. That is the versions we download as .zip files and extract into a folder. I recommend that you get 7zip to extract these files. You can get through this link:
External content: 7-zip open source archive package website
Once installed, it adds a context menu in Explorer so that we can easily right click a zip-file and extract it.
We will also need Link shell extension. This extends explorer with the capability to add symbolic links through the context menu. Without it, we would need to use the command line to create symbolic links in Windows.
You can get it here:
External content: Link Shell Extension
The last thing we need are the zip packages of Blender that we want to install.
External content: Download Blender
Press the “macOS, Linux and other versions” button and select the Windows portable version also known as zip installer.
Once you have a means to unzip blender installers, the Link shell extension, and the .zip version of Blender we can continue.
First, I recommend that you create a new folder on your hardware for portable applications. Within it, create a Blender folder. As the example we will use this folder structure:
C:\Software\Blender
In the software folder you can put any portable applications, including Blender. The reason we want a separate folder for portable applications is that the program files and program data folders have specific configurations meant for installed software.
Windows does not have a folder by default that is prepared to put portable applications except for your profile and that has some other potential problems.
Inside the Blender folder, create another folder. I will call and refer to it as data. Create two additional folders inside the data folder called scripts and config.
Inside the scripts folder we will add two more folders and call them addons and presets.
Next, we unzip our copy of Blender to a new folder inside the Blender folder. For example, into this folder if we are working with version 2.90.
At this point, do not start Blender. To make this copy of Blender portable we need to create a config folder inside the version number folder.
Otherwise, Blender will store data in our profile even if we are using the zipped version. But instead of just creating the folder, we will create a symbolic link to our already created config folder.
Go to the scripts folder and right-click the config folder. If you installed the Link shell extension you will have an option called Pick Link Source. Choose it.
Now go to your unzipped Blender folder and find the folder named after the version of Blender you downloaded. In my case this is 2.90 so this is the folder I will go to.
Right-click inside this folder and go to Drop as…->Junction.
Let me explain what we just did.
For the zipped version of Blender to be fully portable we need to create a folder called config in this location. If Blender cannot find this folder, it will instead create a config folder in your profile, thus Blender will not be portable, and data will not remain in this one location.
But instead of creating a folder, we created a symbolic link. This is a shortcut or wormhole through the filesystem telling it that whenever this file path is used, look here in this other folder instead.
In our case we redirect the config folder inside our Blender folder to the config folder inside our data folder.
This way we can point every version we choose to install to this config folder making them all inherit the same configuration. As we now change preferences in Blender, we will change them for all versions that point to this config folder.
Our next step is to configure Blender so that it checks the script folder for add-ons and presets. Start Blender, go to Edit and find Preferences. Go to the file paths section and look for the scripts folder input. Add our script folder here.
Blender will automatically save your changes, so you can exit out of the preferences and close Blender. Now the base configuration is complete.
So, what did we gain and how do we take advantage of it?
At this point, we can download any alpha, beta, or experimental build of Blender to try out new features or bug fixes and maintain our configuration and add-ons between versions.
Download and extract another Blender version into a new folder and call it something appropriate.
For instance:
Then create a symbolic link from the config folder to the version number folder inside the newly extracted Blender version using the Link Shell Extension.
Go to C:\Software\Blender\data, right click the config folder and choose "Pick link source".
Go to the C:\Software\Blender\Blender-292-beta\2.92 folder and choose "Drop as->Junction".
Then start this newly downloaded version.
Our preferences will be picked up from the userpref.blend file in the config folder from our data folder location through the symbolic link and through these settings it will use the C:\Software\Blender\data\scripts folder for our add-ons so they also get picked up.
Let us say that we have a daily beta build installed in this configuration and a week later more development has happened and we want to update this daily build to the latest daily build.
In that case, we can do an in-place update by just copying and pasting the contents from the new downloaded zip installer and replace the existing files.
This works because the configuration files are created at the first startup and therefore no configurations will be overwritten since they do not exist in the new updated version that we copy and overwrite with.
Any configuration files will be kept intact and just be accompanied by the new updated release.
If you no longer use a version, you can go to its folder and simply delete it. Since the installation is portable, everything is contained in that folder except for the configuration and script folder that we separated out. These will stay intact and available for any other version that use them.
When we normally install a new add-on in Blender, we open Blender, go to Edit->Preferences and find the add-on section.
Here we press install and browse for the zip file that contains the add-on. This can sometimes also be a single python file. Blender will then extract the contents to the add-on folder. Normally to something like this:
<blender path> \2.90\scripts\addons
It can also be installed to a folder in your profile. It depends on your setup.
To install add-ons into this setup, the easiest way is to extract the add-on folder into this location directly using 7zip or similar:
Since we configured this as the script folder in our common configuration, all linked Blender versions will include this folder when it looks for installed add-ons. This means that if the add-on is here, and extracted correctly, we will see it as an entry in the add-on list in the preferences. We just enable it from there.
Note, that some add-ons require additional installation steps. But extracting the add-on manually like this does not generally interrupt that installation flow. Just continue as the add-ons install instructions goes.
I do not often run into problems with this setup. But if you point Blender versions that are far between in development to the same config folder, you may run into incompatibility. For instance, pointing Blender version 2.79 and version 2.80 to the same config folder causes some issues since they are so different. Version 2.79 won’t be able to open the userpref.blend file to check the settings once the newer version was started and converted the Blend file to the new version.
I would also not recommend that you mix configurations with branches of Blender that today are quite different than the main branch of Blender is. For instance, the previously mentioned UPBGE version and B4artists.
Chances are that these branches have configuration that is too far different from Blenders. If you need a common config and script folder for those branches, I encourage you to use a separate setup for each such branch.
So, keep that in mind. Also, make sure that you have a backup system in place for your common configuration files so that if something where to happen between versions, you can always roll back.
The backup solution I use is called duplicate and it can run on any of the major platforms. It is an open-source project, and you can find it here:
External content: Duplicati open source backup solution
But I have never had to use a backup because of this system failing.
Another limitation is that some versions of Blender make changes to the API, making an update to add-ons mandatory between some versions.
This means that some add-ons that has not been updated between versions may not work in these later versions. I have not had a case where this has broken anything for me. Just that those add-ons will not run on newer versions.
To work around these limitations, we can create multiple instances of the common config and script folders. Since this setup is portable, there is nothing stopping us from creating multiple scripts and config folders for different spans of versions.
We can setup a common config and script folder for each major update such as 2.8x, 2.9x 3.x etc.
Just beware that this is how I operate Blender and it is not an officially supported way of configuring it. But it has served me well as I like to try out new features as soon as they are available.
I have used this system for years and I have never had a version break the system. It is very robust. Easy to add new versions and in place update beta versions.
Once it is set up it is simply a matter of copy-paste and adding the junction symlink.