Features¶
The Blender Development for PyCharm plugin offers a rich set of features designed to make extension development as smooth as possible.
Automated Environment Management¶
See Environment Management for more details.
One-Click Downloads: Automatically download and manage multiple Blender versions (4.2, 4.3, 4.4, 4.5, 5.0, and 5.1) directly from the IDE.
Improved Scanner: Scanning for Blender installations is now faster due to version metadata caching. Improved macOS and Linux detection using the
whichcommand and better custom path labeling.Automatic Python Interpreter Setup: When a managed Blender version is downloaded, the plugin automatically locates and configures the bundled Python interpreter for stubs and linting. Streamlined environment configuration for new projects.
System Version Detection: Automatically scans your system for existing Blender installations (e.g., in
Program Filesor/Applications) and lets you use them instantly. Refined cross-platform path handling using Kotlin NIO.2.Add Other System Installs for Blender: Gives you the ability to add a Blender Install not detected by the IDE (I.E if an install is in
~/Apps)Version Switching: Easily switch between managed, system-wide, or custom Blender versions for testing and validation.
Inline Download Buttons: The Run Configuration editor features a “Download” button next to the Blender version dropdown if the selected version is missing.
Global Management: A dedicated tool window on the right sidebar allows you to see what’s installed, delete managed versions, or view discovered system versions.
UI Improvements: Optimized Tool Window layout with scrollable tables and dedicated action buttons for easier Blender version management.
Connection Status: The Blender Management tool window displays a “Status” label indicating whether PyCharm is actively connected to a running Blender instance.
Sandboxed Development¶
See Development & Testing for more details on sandboxing and isolation.
Isolation: Launch Blender in a project-local environment (
.venv/blender_sandbox) to prevent conflicts with your main Blender installation.Multiple Source Folders: The “Addon source directory” field supports multiple, comma-separated paths. The plugin creates separate symlinks/junctions for each folder.
Project-Specific Config: Each project can have its own user preferences and startup files.
Custom Splash Screen: Personalize your development sessions with a project-specific
splash.png.User Config Import: Optionally import your system Blender’s user preferences, startup files, and bookmarks into the sandbox.
Real-time Hot-Reloading¶
See Hot-Reloading for detailed instructions on the hot-reloading workflow.
Auto-Reload: Automatically trigger a reload in Blender whenever you save a file in PyCharm.
Manual Reload: Use
Ctrl+Alt+R(or the Blender menu) to trigger a reload at any time.Robust Cache Purging: The plugin uses a deep purging logic to ensure that Python’s
sys.modulescache is cleared, making sure your changes are always reflected.Blender Status Indicator: A real-time status bar widget allows you to monitor Blender connection states (Connected, Disconnected, Not Running) at a glance.
Bidirectional Heartbeat: Implemented a more robust TCP client with bidirectional heartbeat and automatic retry logic for connection stability.
Smart Project Templates¶
See Project Lifecycle for a complete guide on the project creation process.
New Project Wizard: Quickly bootstrap new extensions with a structure that mirrors PyCharm’s Pure Python setup. Improved validation and error reporting.
Specialized Project Type: A dedicated “Blender Development” project type is available in the New Project dialog.
Manifest Configuration: Configure your
blender_manifest.toml(metadata, permissions, compatibility) directly during project creation. Switched Manifest IDs from kebab-case to snake_case to comply with Blender’s requirements.Simple Add-on & Module Templates: Quickly create a single-script Blender add-on (legacy
bl_infosupport) or a boilerplate Blender module with standard imports from the New menu.Auto-load Support: Optionally include an
auto_load.pyhelper to handle complex module structures automatically.Automatic Run Configs: Gets you up and running immediately with pre-configured Testing, Build, and Validate profiles.
Source Folder Marking: Automatically sets the
srcfolder as the Addon Source root
Integrated CLI Tools¶
See CLI Tools (Extensions CLI) for more information on command-line integration.
Build: One-click building of your extension into a ZIP distribution.
Validate: Ensure your extension meets Blender’s manifest requirements.
Custom Commands: Run any
blender --commanddirectly from the IDE.Sandbox Management: New tool window for clearing and managing Blender sandboxed environments.
Integrated Testing & Diagnostics¶
See Development & Testing for more information on testing and telemetry.
Unit & Integration Testing: A comprehensive test suite, including headless integration tests for TCP heartbeat and reload logic.
Offline Telemetry: Local-only telemetry for debugging and error reporting.
Logging: Added log rotation for better disk usage management and expanded debug output for connection handshakes.
Smart UI Integration¶
Blender File Icons:
.blendand.blend1files are automatically marked with a custom Blender color icon.Integrated Logging: A dedicated
blender_plugin.login your project root tracks all operations for easy troubleshooting. See Troubleshooting for details.