Skip to content

Architecture overview

Blender Development combines IntelliJ Platform extension points with project services and a bundled Python runtime executed inside Blender.

  • The Blender Project generator creates project files through PyCharm’s native Python environment workflow.
  • Project Blender Manager edits project-scoped launch and runtime settings.
  • Settings > Tools > Blender Development stores application-wide discovery, environment, and logging settings.
  • The Blender run configuration starts the external Blender process.
  • Runtime actions communicate with an active Debug session.
Responsibility Scope
Build commands and launch Blender Project
Discover Blender installations Project scan with application-level cached results
Persist launch and runtime settings Project
Persist global paths and environment variables Application
Extract runtime resources and clean stale scripts Project startup

Project state is stored in the project’s .idea configuration. Application state is stored in PyCharm’s configuration area.

  1. The run configuration validates the Blender path.
  2. The launcher combines project arguments and environment settings.
  3. Run mode generates a lightweight refresh script. Debug mode generates a full runtime bootstrap script.
  4. PyCharm starts Blender as an external process.
  5. In Debug mode, the Blender runtime reports its debugpy endpoint and PyCharm attaches through Python DAP.
  6. Runtime commands and optional reload-on-save remain active until Blender exits.
  7. The plugin releases session state and removes generated scripts.

The build packages the Python sources into blender-runtime.zip. The plugin extracts that archive under the IDE configuration area and refreshes it when the plugin version or archive hash changes.

The runtime provides add-on loading, script execution, reload, stop, logging, and debugger coordination inside Blender. Localhost communication is limited to the lifetime of the active session.