Blender’s Directory Layout#
This page documents the different directories used by Blender.
This can be helpful for troubleshooting, automation and customization.
User Directories#
User directories store preferences, startup file, installed extensions, presets and more. By default these use the standard configuration folders for each operating system.
Linux#
$HOME/.config/blender/4.2/
If the $XDG_CONFIG_HOME
environment variable is set:
$XDG_CONFIG_HOME/blender/4.2/
macOS#
/Users/$USER/Library/Application Support/Blender/4.2/
Windows#
%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\4.2\
Portable Installation#
When running Blender from a portable drive, it’s possible to keep the configuration files on the same drive to take with you.
To enable this, create a folder named portable
at the following locations:
Windows: Next to the Blender executable, in the unzipped folder
Linux: Next to the Blender executable, in the unzipped folder
macOS: Inside the application bundle at
Blender.app/Contents/Resources
This folder will then store preferences, startup file, installed extensions and presets.
Environment Variables#
The BLENDER_USER_RESOURCES
environment variable
can be set to a custom directory to replace the default user directory.
System Directories#
System directories store files that come bundled with Blender and are required for it to function. This includes scripts, presets, essential assets and more.
Linux#
Archive downloaded from blender.org:
./4.2/
Linux distribution packages:
/usr/share/blender/4.2/
macOS#
./Blender.app/Contents/Resources/4.2/
Windows#
Zip file downloaded from blender.org:
./4.2/
Installer downloaded from blender.org:
%ProgramFiles%\Blender Foundation\Blender\4.2\
Microsoft Store installation:
%ProgramFiles%\WindowsApps\BlenderFoundation.Blender<HASH>\Blender\4.2\
Environment Variables#
BLENDER_SYSTEM_SCRIPTS
and BLENDER_SYSTEM_EXTENSIONS
environment variables
can be used to bundle additional scripts and extensions,
that are not part of the regular Blender installation.
Other BLENDER_SYSTEM
environment variables can override other system paths,
though are not commonly used in practice.
Path Layout#
./autosave
Autosave blend-file location. (Windows only, temp directory used for other systems.)
Located in user directories.
./config
User configuration and session info.
Located in user directories.
./config/startup.blend
Blend file to load on startup.
./config/userpref.blend
User preferences.
./config/bookmarks.txt
File Browser bookmarks.
./config/recent-files.txt
Recent file menu list.
./config/{APP_TEMPLATE_ID}/startup.blend
Startup file for an application template.
./config/{APP_TEMPLATE_ID}/userpref.blend
User preferences file for an application template.
./datafiles
Data files loaded at runtime.
Located in both user and system directories. User data files either override or add to system data files.
./datafiles/colormanagement
Default OpenColorIO configuration.
./datafiles/fonts
User interface fonts.
./datafiles/studiolights
Studio light images for 3D viewport.
./extensions
Extension repositories.
Located in both user and system directories. Repositories are loaded from both directories.
./scripts
Add-ons, presets, templates, user interface, startup scripts.
Located in both user and system directories. Scripts are loaded from both directories.
./scripts/addons/*.py
Python add-ons which may be enabled in the Preferences include import/export format support, render engine integration and many handy utilities.
./scripts/addons/modules/*.py
Modules for add-ons to use (added to Python’s
sys.path
)../scripts/addons_core/*.py
The add-ons directory which is used for bundled add-ons.
./scripts/addons_core/modules/*.py
Modules for
addons_core
to use (added to Python’ssys.path
when it found)../scripts/modules/*.py
Python modules containing our core API and utility functions for other scripts to import (added to Python’s
sys.path
)../scripts/startup/*.py
Scripts which are automatically imported on startup.
./scripts/startup/bl_app_templates_user/{APP_TEMPLATE_ID}
Application templates installed in user directories.
./scripts/startup/bl_app_templates_system/{APP_TEMPLATE_ID}
pplication templates automatically loaded from system directories.
./scripts/presets/{preset}/*.py
Presets used for storing user-defined settings for cloth, render formats, etc.
./scripts/templates_py/*.py
Example scripts which can be accessed from
../scripts/templates_osl/*.osl
Example OSL shaders which can be accessed from
.
./python
Bundled Python distribution.
Located in system directories.
Local Cache Directory#
The cache directory is used to store persistent caches locally. Currently it is only used for the indexing of Asset Libraries. The operating system is not expected to clear this automatically.
The following path will be used:
- Linux:
$XDG_CACHE_HOME/blender/
if$XDG_CACHE_HOME
is set, otherwise$HOME/.cache/blender/
- macOS:
/Library/Caches/Blender/
- Windows:
%USERPROFILE%\AppData\Local\Blender Foundation\Blender\Cache\
Temporary Directory#
The temporary directory is used to store various files at run-time (including render layers, physics cache, copy-paste buffer and crash logs).
The temporary directory is selected based on the following priority:
User Preference (see File Paths).
Environment variables (
TEMP
on Windows,TMP
&TMP_DIR
on other platforms).The
/tmp/
directory.