Go to file
Campbell Barton c4a0bbb1f4 Extensions: Support online extensions and move add-ons outside Blender
The extensions system allows to extend Blender with connectivity to the internet. Right now it means Blender can
discover and install add-ons and themes directly from the internet, and notify users about their updates.

By default this is disabled (opt-in), and users can enable it the first time they try to install an extension or visit
the Prefences > Extensions tab. If this is enabled, Blender will automatically check for updates for
extensions.blender.org upon startup.

When will Blender access the remote repositories:

* Every time you open the Preferences → Extensions: ALL the enabled repositories get checked for the latest info (json)
* Every time you try to install by dragging: ALL the enabled repositories get checked for the latest info (json).
* Every time you start Blender: selected repositories get checked for the latest info (json).

------------------

From the Blender code point of view, this means that most of the add-ons and themes originally bundled with Blender
will now be available from the online platform, instead of bundled with Blender. The exception are add-ons which are
deemed core functionality which just happened to be written as Python add-ons.

Links:
* Original Extenesions Platform Announcement: https://code.blender.org/2022/10/blender-extensions-platform/
* Extensions website: https://extensions.blender.org/
* User Manual: https://docs.blender.org/manual/en/4.2/extensions/index.html#extensions-index
* Technical specifications: https://developer.blender.org/docs/features/extensions/
* Changes on add-ons bundling: https://devtalk.blender.org/t/changes-to-add-on-bundling-4-2-onwards/34593

------------------

This PR does the following:

* Move extensions out of experimental.
* No longer install `scripts/addons` & `scripts/addons_contrib`.
* Add `scripts/addons_core` to blender's repository.

These add-ons will still be bundled with Blender and will be always enabled in the future, with their preferences
moved to be more closely integrated with the rest of Blender. This will happen during the remaining bcon2 period.
For more details, see #121830

From scripts/addons:

* copy_global_transform.py
* hydra_storm
* io_anim_bvh
* io_curve_svg
* io_mesh_uv_layout
* io_scene_fbx
* io_scene_gltf2
* pose_library
* ui_translate
* viewport_vr_preview

Extra: bl_pkg (scripts/addons_contrib)

Note: The STL (legacy) add-on is going to be moved to the extensions platform. There is already a C++ version on core
which is enabled by default.

All the other add-ons are already available at extensions.blender.org. To use them you need to:

* Go to User Preferences > Extensions
* You will be greated with an "Online Extensions" message, click on "Enable Repository".
* Search the add-on you are looking for (e.g, Import Images as Planes).
* Click on Install

Over time their maintaince will be transferred over to the community so their development can carry on. If you used to
help maintain a bundled add-on please read: https://devtalk.blender.org/t/changes-to-add-on-bundling-4-2-onwards/34593

Ref: !121825
2024-05-15 19:26:29 +02:00
.gitea Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00
.github Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00
build_files Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
doc Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
extern Audaspace: porting bugfixes for CoreAudioDevice from upstream. 2024-05-06 08:28:20 +02:00
intern Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
lib Windows: Update ARM64 submodule to include .pyd files 2024-05-01 10:30:15 +02:00
locale I18N: Updated UI translations from git/weblate repository (0f22b707beed2d8). 2024-05-06 12:46:09 +02:00
release Sculpt: Polyline hide operator 2024-04-29 14:04:16 +02:00
scripts Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
source Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
tests Compositor: Explicitly set device in test scripts 2024-05-14 19:03:55 +03:00
tools Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
.clang-format Clang-Format: Ensure single new line at the end of files 2024-02-22 14:42:10 +01:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig editorconfig: add HTML entry 2023-12-08 13:28:13 +11:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Switch SVN to Git submodules using Git-LFS 2024-02-22 13:50:55 +01:00
.gitmodules Windows: Add ARM64 lib submodule 2024-03-14 18:12:51 +01:00
AUTHORS AUTHORS: add 7 new developers 2024-03-07 14:07:39 +11:00
CMakeLists.txt CMake: differentiate between C/C++ compiler versions in errors 2024-04-26 21:36:59 +10:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile cppheck: improvements to checking script 2024-04-14 20:44:03 +10:00
make.bat Switch SVN to Git submodules using Git-LFS 2024-02-22 13:50:55 +01:00
pyproject.toml Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
README.md Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.