Create 3D animations, graphics, and even games with intuitive controls

Blender for Mac

Blender 4.0.0

  -  266.6 MB  -  Open Source
  • Latest Version

    Blender 4.1.1

  • Operating System

    Mac OS X 10.9 or later

  • User Rating

    Click to vote
  • Author / Product

    Blender Foundation / External Link

  • Filename


  • MD5 Checksum


Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Blender 4.0.0.

For those interested in downloading the most recent release of Blender for Mac or reading our review, simply click here.

All old versions distributed on our website are completely virus-free and available for download at no cost.

We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • Blender 4.0.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Blender 4.0.0 Screenshot 1
  • Blender 4.0.0 Screenshot 2
  • Blender 4.0.0 Screenshot 3

What's new in this version:

Animation & Rigging:
Pose Library:
- The pose library uses the newly introduced asset shelf to make pose assets available in the 3D viewport.

Pose library in the asset shelf:
Bone Collections and Colors:
- New bone collections replace both legacy numbered layers and bone groups. Bone collections can be named and are no longer limited to a fixed number. Colors are now specified individually for each bone, replacing bone group colors

Bone colors can be defined on the armature
- The Select Grouped operator (Shift+G) can now select by bone color and by bone collection. This works based on the active bone; it selects all the other bones with the same color resp. sharing one or more bone collections. This is slightly different than before, where all selected bones were taken into account
- The Bone Layer operators (M, Shift+M) have been replaced by bone collection operators
- Bone collections can be added to linked armatures via library overrides.
- The Armature property show_group_colors has been renamed to show_bone_colors
- The "Skeleton" panel in the Armature properties has been renamed to "Pose"

See Bone Collections & Colors: Upgrading for an overview of how to change Python code from armature layers & bone groups to bone collections.

Bendy Bones:
- A new method of mapping vertices to B-Bone segments for deformation that takes the rest pose curvature into account has been added
- The new mapping is slower to compute, but produces better deformation when the B-Bone is strongly curved in the rest pose, e.g. in a corner of the mouth.

Preserve Volume:
- The long standing issue with Preserve Volume causing distortion when rotation is combined with scaling has been fixed

NLA Editor:
- NLA Strips can now be vertically re-ordered. Strips can vertically be dragged through existing strips, and locked tracks
- Vertically clamp scrolling to view. Preventing infinite scrolling

Graph Editor:

- Interactive sliders for Match Slope, Blend To Ease, Blend Offset, Shear Keys, Scale Average, Time Offset, Push/Pull
- Butterworth Smoothing filter
- Select/deselect handles from current selection

- The performance of the Graph Editor has been greatly enhanced for when it comes to dense key data
- In the following test setup with 6000 keys per channel on 62 bones, performance was improved between 5x and 10x depending on the zoom level.
- Animation playback timing was improved, to avoid jitter between frames

Weight Paint:
- Add loop select for faces

User Interface:
- Channel list background colors have moved from covering the entire background (making text hard to read) to a small rectangle. The channel background color is also more subtle and blends in better. As the feature now no longer causes hard to read text, the "Channel Group Colors" option in the preferences has been enabled by default
- Improved drawing of locked FCurves
- Multi Editing for FCurve modifiers
- Support adjusting the number of samples used for FPS playback display in the preferences
- Rename "Bake Curve" to "Keys to Samples"
- Rename "Sample Keyframes" to "Bake Keyframes"
- Keep icons aligned when curves are baked

Breaking Changes:
- 1-9 hotkeys for switching collection visibility have been removed from Pose Mode

Certain Graph Editor Slider tools had their range changed from 0-1 to -1/1: Blend to Neighbor, Breakdown, Ease
- Making Make Vertex Weight Edit modifier Group Add / Remove threshold inclusive. 1837bda030
- The "Push Rest Pose" and "Relax Rest Pose" operators have been merge into "Blend Pose with Rest Pose"
- Update NLA "Duplicate hotkey" to be "Duplicate Linked" by default
- The "Tab" shortcut to enter tweak mode in the NLA now defaults to "full stack evaluation"
- The Preserve Volume deformation fix may change deformation in existing rigs (see above).
- Snapping for the Graph Editor, NLA and Dope Sheet have moved to the scene
- Armature Layers and Bone Groups have been removed, and replaced with Bone Collections and per-bone colors (see above).
- Bones influenced by an Inverse Kinematics (IK) constraint can now be keyed visually. This means that when the 'Use Visual Keying' preferenced is enabled, visual keying is used on such bones (where in Blender 3.6 and older still would create regular keys)

Geometry Nodes:

Node-Based Tools:
- Node tools are an accessible way to expand Blender and customize tools without requiring Python.
- Geometry node node groups can now be used as operators from the 3D view menus.

Specific nodes are available for controlling tool-specific data:
- Edit mode selection is accessible with the Selection and controllable with the Set Selection node.
- Sculpt face sets are accessible as well with the Face Set and Set Face Set nodes.
- The 3D Cursor node gives access to the 3D cursor location and rotation.

- The new Repeat zone allows repeating nodes a dynamic number of times. See Manual
- The mesh sharp edge status is accessible in builtin nodes
- The Mesh to Volume node now generates a proper fog volume rather than a converted SDF
- The "Exterior Band Width" and "Fill Interior" options have been removed.
- The Points to Curves node groups point cloud points into curves and sorts each curve's points based on a weight
- A new debug utility helps to check procedural systems for bad index dependence
- Rotation sockets and eight new rotation nodes are available for simpler processing. See Manual
- Axis Angle to Rotation
- Rotation to Axis Angle
- Quaternion to Rotation
- Rotation to Quaternion
- Euler to Rotation
- Rotation to Euler
- Rotate Vector
- Invert Rotation
- Simulation zones can now be baked individually
- The Simulation Output node has a new Skip input

- The "Add Modifier" menu has been changed to a standard menu and is extended with custom modifiers from geometry node group assets
- When geometry node groups are marked as assets and the "Is Modifier" property is enabled, the asset catalog path is used to dynamically create the modifier menu.
- Assets unassigned to any node group are displayed in a separate "Unassigned" category
- Two new options help to clean up the modifier interface
- The node group selector can be disabled, which happens by default for node group asset modifiers
- Inputs can be forced to be single values to remove the attribute toggle
- This also removes the attribute toggle in the node tool redo panel.

- The Curve to Mesh node is significantly faster when the profile input is a single point.
- When the input point is at the origin, tangent, normal, and radii calculations are skipped, giving a 2x improvement
- Handling with many point-domain attributes is improved, with an observed 4x improvement
- Further improvements avoiding copying attributes entirely are possible when all curves are poly curves


- The Add Modifier menu has been changed to a standard menu and now includes geometry nodes assets.
- A new "Shift A" shortcut opens the Add Modifier menu in the properties editor.

Snap and Navigation:
- You can now press B to set base point when you transform objects. This allows for a fast and precise snap from vertex to vertex.
- Additionally you can navigate while transforming while holding Alt, and there are different snap symbols for the different snap types (vertex, mid-point, perpendicular, ...).
- It is now possible to navigate while transform (Move, Rotate, Scale, Edge Slide, Vert Slide, and Shrink/Fatten), by default you have to hold Alt and navigate
- Transform operations now have a new feature to edit the 'Snap Base'
- Bones now support snapping with "Align Rotation to Target" (dea93845af and 4d1593c4ad).
- New snap symbols (9c2e768f5b, fb556c75df).

User Interface:
- The snapping menu has been reworked (8e059b569b).
- Snap With was moved to the beginning of the popover
- Align Rotation to Target and Backface Culling were moved closer to the snap targets
- Snap With, Target Selection and Align Rotation to Target are no longer hidden by varying the mode and options
- Project Individual Elements has been replaced with the Face Project option
- Face Nearest has been moved to stick together with the Face Project option

Shape Keys:
- The Blend From Shape and Propagate To Shapes operators now respect X symmetry (0bd95dd963, 4d0dbab5b1)

UV Editor:
- Add Invert Pins operator.

Sculpt, Paint, Texture:


Vertex Paint: Add set vertex colors option to lock alpha (PR #111002)

Sculpt: Remove dynamic topology "Smooth Shading" option (PR #110548)

Sculpt: Expand Mask inverted fill (PR #111665)

Weight Paint: Allow setting weights (Ctrl+X) without paintmask enabled (0b1d2d63fe)

Shading & Texturing:

Principled BSDF:
- The Principled BSDF node has been revamped to support a wide ranger of material types.
- Sheen uses a new microfiber shading model, and is the top layer above emission and coat. Traditionally sheen has been used for fuzzy cloth, but now it can also be used for dust on arbitrary materials.
- Coat was placed above the emission layer. This can be used to simulate for example an emissive phone screen behind glass. Coat tint and IOR inputs were added, so that it can be used for more than a white clearcoat.
- Subsurface scattering uses the base color instead of a separate color input. There is a new subsurface scale input to adjust the RGB radius.
- Specular reflection and transmission are now primarily controlled by a single index of refraction input. For texturing, a new IOR Level input adjust the amount of specular reflection. For artistic purposes, specular tint be can set to an arbitrary color.
- Metallic surfaces gained edge tinting using the specular tint input. This is an artist friendly parameter to render complex index of refraction, based on the F82 tint model.
- Multiple scattering GGX is more efficient to render in Cycles, and now used by default. Layering of the components as a whole is more energy conserving, which means existing materials can render slightly darker or lighter depending on the scene.

BSDF Nodes:
- The Glossy and Anisotropic BSDF were merged into a single Glossy BSDF with anisotropy control. When opening files saved in 4.0 in older versions, all "Glossy BSDF" nodes will show up as Anisotropic BSDF nodes
- Normal Map now has better interpolation for the Strength input for tangent space normal maps, avoiding the normal going below the surface for strength larger than 1. This changes the looks of existing renders where Strength was not 1
- The Velvet BSDF node has been renamed to Sheen BSDF, and a new shading model ("Microfiber") has been added as the default option. The previous model is still available as "Ashikhmin", so existing files remain unchanged
- The new model is an implementation of "Practical Multiple-Scattering Sheen Using Linearly Transformed Cosines" by Tizian Zeltner, Brent Burley and Matt Jen-Yuan Chiang, which approximates the effect of multiple scattering between normal-oriented microscopic fibers using LTC distributions.
- This BSDF is only supported in Cycles so far, in EEVEE it will be rendered as a diffuse BSDF.

Texture Nodes:

Noise Texture:
- New inputs for the Noise Texture node, which generates fractal Perlin noise

Normalize: normalize output to be within 0..1 range. This is most useful for colors or blending factors, while bump or displacement does not need it.

Lacunarity: the factor each successive layer is scaled with.

Voronoi Texture:
- The Voronoi Texture node has support for fractal noise now, to add multiple layers of details. There are 3 new inputs

Detail: number of layers to compute.

Roughness: how much influence the higher layers have on the final output

Lacunarity: the factor each successive layer is scaled with.
- Additionally a "Normalize" property was added, which if checked will remap the Distance and Color outputs to a [0.0, 1.0] range.

- Light UV is now available for all light sources in Image Texture node (#108691)

Light sources have slightly different behaviours than before for energy preservation and better compatibility with other renders #108505, including:
- Point light and spot light are changed to double-sided sphere lights (#108506 #109329). Besides, the light normal now points from light center to the sampled/intersected position on the sphere, any pipeline that was using the light normal should use the Incoming socket of the Geometry shader node instead.
- Sun light behaves better at large angular diameters, and gives the same intensity regardless of the angular diameter
- Corrected conversion factor for area lights (482211b7e0)


Light and Shadow Linking:
- With light linking, lights can be set to affect only specific objects in the scene. Shadow linking additionally gives control over which objects acts as shadow blockers for a light
- This adds more artistic control for lighting by breaking the laws of physics. For example the environment and characters in a shot might have different light setups. A character could have a dedicated linked rim light to make it stand out, and shadow linking could be used to ensure no objects from the environment block it.
- In a future version we plan to support linking to the world lighting, and add a more convenient user interface to view and manage all light links in a scene.

Path Guiding:
- Path Guiding now works on glossy surfaces in addition to diffuse surfaces. This can significantly reduce noise on glossy surfaces, and find otherwise missing glossy light paths

Multiple Scattering GGX:
- The Multiscattering GGX implementation was replaced by an approximation based on "Practical multiple scattering compensation for microfacet models" by Emmanuel Turquin
- This removes the performance and noise disadvantage that used to be associated with Multiscattering GGX, making it a safe default pick.
- While the directional distribution is no longer theoretically ideal, which can lead to slight differences in rendered images, the overall effect of the multiscattering correction (preserving energy, avoiding darkening at high roughness, and increasing saturation at high roughness) still applies.
- For highly anisotropic materials, the compensation might not be perfect. This is a limitation of the currently known approximation methods.

Principled Hair BSDF:
- A new variant called "Huang" is added, based on the paper A Microfacet-based Hair Scattering Model by Weizhen Huang, Matthias B. Hullin and Johannes Hanika (PR #105600). The previous Principled Hair BSDF is now the "Chiang" variant.
- Supports elliptical cross-sections, adding more realism as human hairs are usually elliptical. The orientation of the cross-section is aligned with the curve normal, which can be adjusted using geometry nodes. Default is minimal twist.
- This is a far-field model, as opposed to the near-field Principled Hair BSDF model. The hair is expected to be less noisy, but lower roughness values takes longer to render due to numerical integration along the hair width. The hair also appears to be flat when viewed up-close.
- Gives nicer focused reflection when viewed against the light.

Open Shading Language:
- Most Cycles-specific microfacet closures were removed since they are redundant now that Cycles implements the generic microfacet() closure of the OSL standard
- Specifically, the microfacet() closure supports the distributions beckmann, sharp, ashikhmin_shirley, ggx, multi_ggx and clearcoat. The refract argument supports 0 for pure reflection, 1 for pure refraction, and 2 for both (based on dielectric Fresnel according to the specified IOR).
- Additionally, the three MaterialX microfacet closures dielectric_bsdf(), conductor_bsdf() and generalized_schlick_bsdf() are provided. These only support beckmann, ggx and multi_ggx distributions.
- Two Cycles-specific closures remain, but they are for internal use and should not be relied upon by user-created OSL shaders.

Metal Hardware Raytracing:
- The new Apple M3 processor supports hardware ray-tracing. Cycles takes advantage of this by default, with the MetalRT in the GPU device preferences set to "Auto".
- For the M1 and M2 processors MetalRT is no longer an experimental feature, and fully supported now. However it is off by default, as Cycles' own intersection code still has better performance when there is no hardware ray-tracing.

- Performance improvements to geometry upload from Blender 3.6 continued, with a 1.76x improvement measure for a large mesh (2fac2228d0).
- Metal AMD GPU rendering has a significant performance regression in scenes that use the Principled Hair BSDF, in addition to existing lack of support for the light tree and shadow caustics. Due to GPU driver limitations that are unlikely to be fixed, it is expected that AMD GPU rendering on macOS will be disabled entirely in a future release.
- Support for rendering with AMD RDNA2 and RDNA3 APUs is added.

Color Management:

AgX View Transform:
- The AgX view transform has been added, and replaces Filmic as the default in new files
- This view transform provides better color handling in over-exposed areas compared to Filmic. In particular bright colors go towards white, similar to real cameras. Technical details and image comparisons can be found in PR #106355.

HDR Display on macOS:
- A new High Dynamic Range option was added in the Color Management > Display panel. It enables display of extended color ranges above 1.0 for the 3D viewport, image editor and render previews
- This requires a monitor that can display HDR colors, and a view transform designed for HDR output. The Standard view transform works, but Filmic and AgX do not as they were designed to bring values into the 0..1 range for SDR displays.

New Color Spaces:
- New linear spaces and display devices were added, together with some renaming to improve clarity. Forward compatibility code is included into Blender 3.6

Removed Features:
- Textures and other areas of Blender now always considers the color management is enabled. This used to be a compatibility option for the "No Color Management" setting in Blender pre 2.64. To achieve the same functionality the images need to be set to Non-Color space
- Unused color spaces and display devices were removed from the OCIO configuration (b2b7b37139)
- The XYZ display was only used to output images in XYZ space, for which there is now an option in the image output settings. Instead of the None display use Raw vie of the sRGB display. There is a versioning code in place to migrate the display settings to the new notation.


Viewport Nodes:

The following nodes are now supported in the Viewport Compositor:
- Movie Distortion
- Sun Beams
- Keying
- Kuwahara (classic and anisotropic)
- Inpaint
- Double Edge Mask

Kuwahara Filter:
- Kuwahara filter node for the compositor, to give images a painterly look

User Interface:
- The compositor nodes add menu has been re-organized for consistency with other editors
- Node preview images have been moved to an overlay displayed above the node. The overlays menu has an option to show and hide all previews (PR #108001).


Interactive Retiming:
- A new system for interactively retiming strips was added in the sequencer
- Adjust the speed of strips by dragging retiming keys. Additional keys can be added by pressing the I key. The keys can be edited by pressing the Ctrl + R shortcut.
- Retiming also supports smoothly transitioning from one speed to another. Transitions can be created by right clicking on a key, or from retiming menu and choosing Add Speed Transition. Freeze frames can be added similar to transition keys.
- The speed of whole strips or a retimed segment can be set by using Set Speed operator from retiming menu.
- Retiming keys can be hidden by turning off the retiming overlay.

Sound Strips:
- Sound strip waveforms are now processed much faster
- New equalizer modifier for sound strips

Breaking Changes:
- The Depth socket was removed from the non-multilayer image node, viewer, and composite output nodes. This was a legacy feature, replaced by more general multilayer OpenEXR output
- The "Distort" socket was renamed to "Distortion" in the Lens Distortion compositing node

Import & Export:

- Skeleton and blend shape animation import through UsdSkel
- Generic mesh attribute import and export for meshes
- Light import and export improvements to follow USD conventions more closely
- Camera import and export improvements
- Export can now be extended with Python scripts through hooks. See the USDHook API documentation for details and example code


Export Animation:
- The 3ds exporter now got the property to export animation keyframes
- Keyframe export is optional to avoid crashing any importers wich can not handle the keyframe section

Export Hierarchy:
- 3ds objects now got hierarchy chunks to preserve the object tree
- The object tree can now be exported without the keyframe section needed

Export Scale:
- Global scale for exporting a 3ds can now be setted
- Since many applications are using millimeters, this option is useful to convert the measure units

Convert Measure:
- The 3ds importer and exporter now got the ability to converts the unit measure for all metric and imperial units
- Many 3ds files were exported in millimeter unit scale, this option converts too big meshes to Blender meter scale

Object Filter:
- Both, the importer and the exporter got the new option to filter objects for import and export

Volume, fog, gradient and background bitmap:
- Atmosphere settings, layerfog parameter and background image can now be imported and exported
- Gradient and fog chunks can now be imported and exported

Spotlight aspect and projector:
- If a spotlight includes a gobo image, it will be exported in the light bitmap chunk and imported the same way
- The x/y scale of a spotlight can now be exported in the aspect ratio chunk, the importer calculates the aspect back to x/y scale

Cursor location:
- The 3D cursor can now saved to a 3ds file and imported again

New Principled BSDF material support:
- Moved specular texture to specular tint
- Added transmission and coat weight parameters
- Added tint colors for coat and sheen

- FBX binary file reading and parsing speed has been improved
- Animation import performance was made faster
- Animation export performance was made faster
- Vertex Group export performance was made faster
- Armature data custom properties can now be imported and exported
- Shape keys can now be exported when Triangulate Faces is enabled or when Objects have Object-linked materials

OBJ and PLY:
- The OBJ and PLY I/O add-ons have been removed. Importing and exporting this format is now implemented natively in Blender, with significantly better performance

- Armatures exported to Collada now include the armature's bone collections, including their visibility (83306754d4). More info about bone collections.


Blend File Compatibility:
- The new blendfile compatibility policy has been implemented
- Very early 2.80 development 'scene collection' compatibility code as been removed. This does not affect any file produced by a released version of Blender

- Custom Properties can now be defined from the UI to store references to other data-blocks (b3c7f3c8a9). Previously, this was only doable through Python API.

Library Overrides:
- Many fixes and improvements were made, as part of the Blender Studio's "WING IT!" production
- Parenting-related Object properties (the parent inverse matrix, parent type, parent sub-target) will now be reset to the linked reference data when parent pointer itself is modified in library file and updated during resync process (9ed5177055, 4842424220).
- Cleanup-code pruning unused liboverride operations during RNA diffing would not always work properly, leading to accumulated invalid operations that could, under certain circumstances, end up severely breaking especially collections/objects hierarchies of liboverrides (784d09a87c).
- Resync Enforce tool would not always work properly with collections of IDs (affecting especially Collections/Objects relationships) (2dfbd653a0, 1c0ffa1e18).
- Code trying to fix invalid liboverride hierarchies was over-enthusiastic, which could pull data out of their valid original hierarchy into some more local, undesired one when production files start to become messy (bf93fb0f46).
- Handling of lookup of items in RNA collections has been improved, to alleviate issues when there are name collisions between items (a05419f18b).
- As a second approach to work around issue described above, changes were made to liboverride IDs naming, such that when created, they either get the exact same name as their linked reference, or they get a name that does not collide with any other linked override reference (b9becc47de, e11da03e7a).

Breaking Changes:
- The Depth pass support was removed from OpenEXR (the non-multilayer case) and Iris
- Unused linked data is no longer kept when saving and re-opening a blendfile. This was already partially the case in previous releases.
- The 'Fake User' setting is now fully irrelevant for linked data, and systematically cleared on load or link.
- When an unused (as in, having zero users) linked data-block needs to be kept in a blendfile, users are expected to reference them through a Custom Property
- See #106321 and the related commits b3c7f3c8a9 and f052b18a65.
- Keep some animation data from library overrides when no animation data existed originally in the linked reference, but it got added later on in the library file. Previously, any change related to animation done in the liboverride data would have been lost (#110067, PR #110900, f188d6709f).

User Interface:

- All regular dropdown and context menus can be searched by pressing spacebar
- Add menus can be searched by immediate typing
- Recently searched items are now at the top of search lists, with an option in the Preferences for disabling it

- Default user interface font changed to Inter
- Text output now more pleasing and typographically correct
- New user preference added for "subpixel anti-aliasing" for text output
- Chinese, Japanese, and Korean punctuation characters now recognized in word selection
- Use multiplication symbol instead of letter "x" where appropriate

- Consistent top-down content ordering in menus. Menus no longer reverse order if opening upward
- All rotational inputs now shown with maximum precision
- Tree-view UIs draw hierarchy lines to visually communicate the nesting levels better
- Many lists now highlight the currently-selected item
- List items that are not multiple select are now shown as radio buttons
- Resizing the toolbar no longer breaks snapping when dragged beyond the maximum available size

Windows and Linux: Color Picker can now pick outside of Blender windows
- The Color Picker size has been increased
- Improvements to Color Ramp drawing
- Fix sidebar scrollbar overlapping category tabs when zooming
- Fixed scrollbars being highlighted while outside of their region
- Progress indicators now exposed to Python, including new ring version
- Allow transparency when editing text in widgets
- UI element outlines have changeable opacity, allowing for flat or minimalistic themes

- Window title improved order and now includes Blender version
- New Window now works while having an area maximized
- Save Incremental in File menu, to save the current .blend file with a numerically-incremented name
- Small changes to the File and Edit menus

Files and Asset Browsers:
- File Browser side bar now showing Bookmarks, System, Volumes, Recent
- File and Asset Browser show a wait icon while previews are loading (4a3b6bfeac)
- Thumbnail views now allow any preview size from 16-256
- Image previews in File Browser now have checkerboard background if transparent
- File Browser now shows thumbnail previews for SVG images

- Splash screen changes to make it easier for users to bring previously saved settings into a new install

Text Editor:
- Support auto-closing brackets around the selection (96339fc313)
- Removed syntax highlighting support for LUA (95ca04dc20)

Python Console:
- Support cursor motion, selection & more text editing operations (18e07098ef)
- Support tab-stops instead of expanding to spaces (a5cd497543)

Other Editors:

Preferences: layout and style tweaks (d0aa521ea8)

Timeline: Invalid caches now show with striped lines

Outliner: Drag & Drop now works between multiple windows (d102536b1a).

Outliner: Select Hierarchy now works with multiple selected objects (594dceda7f).
- Top Bar and Status Bar colors now exactly match their theme colors (d86d2a41e0).

Windows Integration:
- Blend File association can now be done for all users or just the current users in the preferences. Unassociate is now available as well. Support for side-by-side installations was improved
- Recent file lists are now per Blender version.
- Pinning a running Blender to the taskbar will properly pin the launcher.
- Multiple Blender version are available for Open With in Windows Explorer.
- Explorer "Quick Access" items added to File Browser System List (f1e7fe5492).

- The Catalan language is now one of six languages with complete coverage.

3D Viewport:

- New preference to toggle fresnel in Edit Mode.
- Wire Color is now available for all shading modes.
- Object/mode-specific overlays have been moved into their own popover

Statistics: Ability to see per-item, and per-selection counts while in Object mode (6e20beba22).

User Interface:
- Canvas selector in the header in paint modes
- Tool settings headers in the 3D View and Image Editor draw with a fully transparent background (with the region overlap preference enabled) and the theme's region background behind clusters of buttons (55eaa755e3, ff78d33bb4).
- The 3D Viewport background is now set to single-color in the default theme, since the vignette effect can lead to glitches in certain hardware according to community feedback
- 3D viewport header can now be made transparent (along with tool header) with theme color alpha change (d308f35896).
- Tweaks to the Object Types visibility popover (7405993cb7).
- Status text for modal operators now shown in the Tool Settings bar if visible (ca00c9aa3e).
- The Options panel accessed in Object mode and Mesh Edit mode has been reorganized

- Text object selection can now start outside of the text block. Improved selection with text boxes and when on curves (5b3ce7b740).
- Numpad Return key can add new line while editing Text Objects

Walk Navigation: New modal keymap to adjust jump height (f418e4f648).

Node Editor:

Node Panels:
- Node panels feature for node groups and built-in nodes (#108895)
- Panels can be used to group sockets in a collapsible section. They can be added to node groups and to built-in nodes.
- Group sockets are managed in new UI tree view together with panels. Drag-and-drop support for ordering sockets and inserting into panels.
- Node group API has breaking changes, see Python API for details and migration help.

- The "Make Group" and "Ungroup" operators are no longer available from the add menu
- Node group assets unassigned to any node group are displayed in a separate "No Catalog" add menu submenu

- In Preferences → Editing, a new panel was added to group all Node Editor specific settings
- Improvements to Node links to help readability at different zooms and monitor DPI (899d723da8).
- Node snapping grid no longer changes size with changes to line width (04285c2d0e).



Markers: it is now possible to rename markers with double left-click, for consistency with other areas in Blender

Tweak Tool: can now click-drag multiple objects at once in the 3D-viewport & UV-editor (618f39fca2)
- The Preferences window can now be opened with Ctrl+Comma

Pose Mode: 1..0 for switching between scene collections has been removed (adef3a4556)

Sculpt, Paint, Grease Pencil:
- For Blender 4.0 various updates were made to the keymap. This will allow us to better support current and future features and only affects sculpting, painting and grease pencil related modes.
- This is an overview of all changes that may affect users.

Left Click Select:
- Better support for selecting individual faces/vertices while a brush is used (vertex/weight/texture painting)
- Alt LMB = Select
- Shift Alt LMB = Select Extend/Toggle
- Face Loop selection shortcuts (98d48c16a3) are only available if any selection tool is used.

3 Mouse Button Emulation:
- Selecting individual faces/verts is now supported and available from the selection tools (not while a brush is used)
- Selecting single bones is possible using Ctrl-Shift-LMB

Right Click Select:

More Mesh Sculpt Mode shortcuts are now properly supported:
- W = Context Menu
- Shift Ctrl LMB = Lasso Masking (PR #110960)
- Shift Alt Ctrl LMB = Lasso Unmasking/Selecting (PR #110960)

Removed Shortcuts:
- More space on the keyboard is now freed for user customization. If needed, any of these shortcuts can be added back by right clicking on the related UI button and using “Assign Shortcut”.
- Some brush shortcuts are removed in Sculpt Mode and Grease Pencil

D = Gpencil: Draw brush

L = Mesh Sculpt Mode: Layer brush
- Various unused or niche shortcuts have been removed

Ctrl M = Mesh Sculpt Mode: Mask Overlay

Ctrl D = Mesh Sculpt Mode: Dyntopo toggle

Ctrl Alt R = Mesh Sculpt Mode: Quadriflow remesher on

Shift L = Gpencil: Alternate selection

Gpencil Draw Mode: 13 individual Guides shortcuts on Draw brush

Common Shortcuts:
- Various shortcuts are now more consistent and shortcut conflicts are fixed. More features are now better supported.
- 1,2,3 = Selection Modes (if available) (827918c925)
- Full brush support in vertex/weight paint modes(6de6d7267f)
- Shift LMB = Smooth stroke
- Ctrl LMB = Inverted Stroke
- Color & Weight painting shortcuts(6de6d7267f)
- X = Flip Color (Not supported yet in Grease Pencil Draw Mode)
- Shift X = Sample color/weight
- Ctrl X = Fill color/weight

Shift Ctrl X = Weight Paint Mode: Sample Vertex Group
- Other (6de6d7267f)
- Alt E = Stroke Type Menu

Mesh Sculpt Mode:
- Changed some brush shortcuts to more commonly used brushes and to avoid shortcut conflicts (fa27e6561e)
- V = Draw Brush (previously on X)
- S = Smooth Brush (previously on Shift S)
- C = Clay Strips Brush (previously Clay)
- Shift T = Scrape Brush (previously Flatten)
- Other shortcuts (6de6d7267f)
- Alt W = Face Set Edit pie menu
- H = Hide Active Face Set
- Shift H = Hide Inactive Face Sets / Show All
- Alt 1 / Alt 2 = Increase/decrease Multires Levels
- Ctrl R = Dyntopo flood fill if Dyntopo is enabled
- Shift RMB = Set the Pivot Point for Transform Gizmos

Weight Paint Mode:
- Ctrl-Shift-LMB = Selecting bones (69e290d2fe)
- Shift A & Shift Alt A = Weight Paint Gradients (6de6d7267f)

Grease Pencil:
- Alt I = Grease Pencil Delete Active Frame (6de6d7267f)

Gpencil Draw Mode: Box Delete and Lasso Delete shortcuts are easier to access.(a7dd864dcf)
- The shortcuts on B and Ctrl Alt RMB were previously only available on the Draw brush. Now they are are accessible in the entire Draw Mode.
- Grease Pencil shortcuts to select entire strokes are now consistent with Select Linked shortcuts on L & Shift L (PR #110960)
- It’s also better supported to change to stroke selection mode and select stroke any time with mouse clicks.

Industry Compatible Keymap:
- Many shortcuts of this keymap have been added and fixed for modes related to painting, sculpting and grease pencil
- This will will help maintain and further support the keymap in the future. If any shortcut isn't mentioned, that means it is unchanged.

Removed Shortcuts:
- All brush shortcuts have been removed for free custom mapping
- Redundant shortcuts have been removed such as
- Line Session drawing (In GP Draw Tool)
- Select Alternate in GP
- Quadriflow Remesh (In Mesh Sculpt Mode)
- Box Hide (In Mesh Sculpt Mode)
- Dynamic Topology Toggle (In Mesh Sculpt Mode)
- Mask Overlay (In Mesh Sculpt Mode)
- Removed Lasso Mask/Select shortcuts (This keymap is mainly using the Tools instead. Easy to add back if needed.)

Mode Switching:
- Easier mode switching access for any workflow. The previous shortcuts heavily favored modeling
- 123 = Switch selection/mask modes for the current mode. If in object mode, it will first switch to edit mode (Previously this would always switch to edit mode)
- 5 = Mode switching pie menu (previously 5-7 for individual modes)
- Tilde = Transfer Mode (Previously not mapped. Useful for instant object switching while keeping the current mode)
- 6-0 = Unassigned

Brush & Selection:
- Multiple Modes were missing these shortcuts.
- Shift LMB = Smooth Brush
- Ctrl LMB = Inverted Brush
- Shift Alt LMB = Set Selection
- Shift Alt Ctrl LMB = Toggle-Extend Selection

Brush Size & Select Linked:
- These were previously in direct conflict. Now they are both distinct and based on other DCC software.
- [ = Decrease Brush Size
- ] = Increase Brush Size
- Alt dbl LMB = Select Linked Pick
- Ctrl Alt dbl LMB = Deselect Linked Pick
- Ctrl L = Select Linked

Select & Mask:
- Q = Cycle Masking/Selection Tools
- Ctrl A = Mask Pie Menu (Mesh Sculpt Mode)
- Alt A = Auto-Masking Pie Menu (Mesh & GP Sculpt Mode)
- Shift A = Expand Mask (Mesh Sculpt Mode) / Grow Selection (Curve Sculpt Mode)
- Shift Alt A = Expand Mask by Normals (Mesh Sculpt Mode)

Face Sets & Visibility:
- Previously missing shortcuts.
- Shift W = Face Set Expand
- Shift Alt W = Active Face Set Expand
- Ctrl W = Face Set Edit Pie Menu
- Page Up = Grow Active Face Set
- Page Down = Shrink Active Face Set
- H = Hide Active Face Set
- Shift H = Hide Inactive Face Sets / Show everything
- Ctrl H = Hide Masked Geometry

- For Sculpt and Weight Painting modes. Previously missing
- C = Cursor Tool
- W = Move Tool
- E = Rotate Tool
- R = Scale Tool
- T = Transform Tool
- Shift RMB = Set Cursor / Set Transform Pivot in Sculpt Mode

- Consistent and easier to access shortcuts for remeshing and subdiv level .
- Shift D = Subdivision level Down (Previously on Pg Down)
- D = Subdivision level Up (Previously on Pg Up)
- Shift Ctrl D = Voxel Size / Dyntopo Size
- Ctrl D = Voxel Remesh / Dyntopo Flood Fill

Adding missing shortcuts:

- Fixing various missing or inconsistent shortcuts.
- Backspace = Set Color/Weight
- I = Sample Color/Weight
- Alt I = Sample Vertex Group
- Alt Ctrl I = Vertex Group Lock Pie
- X = Swap Colors (Previously missing in Sculpt Mode)

Grease Pencil:
- Adding many missing shortcuts.
- Shift S = Animation Menu (Previously on I and missing outside of Draw Mode)
- Shift Alt S = Insert Blank Keyframe
- Alt H = Unhide Layers
- Ctrl H = Hide Active Layer
- Shift H = Hide Inactive Layers
- Y = Active Layer Menu
- Shift Y = Merge Layer Down
- Alt Y = Material Menu
- Backspace/Delete = Delete Menu (Now in all modes)
- Shift Backspace/Delete = Delete All Keyframes (Previously on D Backspace/Delete)

Mesh Edit Mode:
- Ctrl Shift Alt LMB = Region Selection (a3d0006ac1)

- Adding missing shortcuts.
- MMB for panning in the User Interface (Highly requested)
- Shift F = Center View to Mouse (Replacing Frame Selected(All Regions) shortcut)
- D = Annotate
- L = Toggle Stabilize Stroke (Previously on Shift S)
- Ctrl F = Weight radial control in weight painting modes
- Generally improved consistency for region shortcuts and linked selection in all editors (a0e5b03126)
- Ctrl L = Select Linked
- Ctrl [ = Toggle Toolbar/Channels
- Ctrl ] = Toggle Sidebar
- Shift Spacebar = Toggle Asset Shelf


Hydra Storm:
- Storm is a realtime renderer part of USD. When enabling the add-on, it can be chosen as an alternative to Cycles, EEVEE or Workbench

Compared to EEVEE its capabilities are limited, as it was designed mostly for previews. It serves two main purposes:
- In production pipelines where Blender outputs USD files, it provides a preview of how the scene will be exported to other applications. Tools such as usdview use Storm as their default renderer, and other 3D apps often provide an option to use Storm as well.
- As a reference for Blender, add-on and studio pipeline developers to validate USD and Hydra integration.
- When enabling "Developer Extras", there is an option to export the scene through USD instead of Hydra. Hydra provides fast interactive updates, but it currently does not match USD export exactly. USD gives an accurate preview of how the file would be loaded into another application. Work to improve this consistency is ongoing.

- The old interface for configuring layer names and defining the layer visibility panel toggle button layout, as well as the interface for specifying additional layers in rig component properties have been rewritten to use the new bone collections. Old metarigs have to be upgraded by clicking a button
- The layer visibility button layout can now be modified through a visual editor sub-panel rather than through changing obscure number values
- Re-generating the rig now preserves the visibility settings for bone collections that already existed in the target rig
- The feature set list now contains ghost entries for the feature sets mentioned in the manual, containing brief descriptions and web links, even if they are not installed
- The new Curved B-Bone vertex mapping is now applied by the face upgrade operator for the mouth corners

The following rig features have been promoted from the experimental feature set to the core add-on:
- The leg rig now has an alternative IK to FK snap operator button that can use the heel roll control to avoid rotating the main IK control around certain local axes from its current orientation (by default it tries to keep the IK control parallel to the same imaginary ground plane)
- The leg rig can optionally generate a slider to perform forward roll around the tip of the toe rather than its base
- There is a new built-in spline tentacle rig based on Spline IK

glTF 2.0:
- Implement EXT_mesh_gpu_instancing import (01b30876b1)
- implement EXT_texture_webp import
- Better rigging roundrip when import then export
- Fix, and add some conversion for custom attribute types (9d5c1cc74a, 9ccd934d19)
- Manage new Principled BSDF node (7bc4614eff, 53f0f57ddf
- Fix missing Volume extension in list of managed extensions (62cf7b53c1)

- Manage new Principled BSDF node (Really long list of commit, see history for details)
- Use sparse accessors when it leads to small files (ceac431492)
- Add option to choose number of bone influence (a75b59baa3)
- Better rigging roundrip when import then export
- Implement EXT_mesh_gpu_instancing export (01b30876b1)
- Manage UVMaps outside of materials and using Attribute as UVMap (bd7fea9ca3)
- implement EXT_texture_webp export
- Remove embedded gltf option (097bf234f6)
- Allow normalization in gather_attribute_change user extension (1925b33827)
- Round tangents to avoid not determinist exports (7f9569e672)

Texture: Use default value when merging channels (dbcc17eb97)
- Single Armature with no animation data will not export all anims (15780ade32)
- Fix after API changes for nodegroups (0cddda9150, 4df6f7c66d)
- Fix crash when user try to merge identical tracks (5180d77b7a)
- Fix crash on not valid meshes
- Fix wrong detection of Basis Shape Key (0cc8764795)
- Fix check in texture image
- Fix crash on extra channels when not sampled (a4dd07ee34)
- Fix crash in animation export in track mode (a6cc6a16cb)
- Fix restore of track mute during track mode export (462064c396)
- Fix Real children of instance collection visibility check (5a505e38ee)

Export UV Layout:
- UV Tiles can now be exported using the UDIM or UVTILE numbering schemes

Collection Manager:
- Added support for the new alpha property in theme outlines to the QCD Move Widget theme overrides

Python API:
Breaking changes:

Asset System:
- context.asset_file_handle is removed. Use context.asset instead.
- Note that it returns a AssetRepresentation, not a FileSelectEntry, but should provide access to the same information. When not
- context.selected_asset_files is removed, use context.selected_assets instead. The same note as for context.asset_file_handle applies.

- .id_type was removed. For assets, use AssetRepresentation.id_type instead
- .local_id was removed. For assets, use AssetRepresentation.local_id instead

- get_full_library_path() was removed. Use AssetRepresentation.full_library_path instead
- local_id was removed. Use AssetRepresentation.local_id instead
- Occurrences of the name asset_library_ref were replaced by asset_library_reference throughout the API (974d70918b).
- FileAssetSelectParams.import_type was renamed to FileAssetSelectParams.import_method (ca2a8be15f).

Note: AssetHandle should now only be used to provide a collection custom property for UILayout.template_asset_view().

Window Manager:
- Operator.bl_property no longer defaults to "type" (7bc34283ea)

- The mesh format changes from previous versions are now included in the Blender file format, reducing overhead when saving files and decreasing file sizes (1b63a290c6).
- Blender 3.6 can read files from 4.0, but earlier versions cannot.
- Blender 3.6 can be used to save files from 4.0 in a format that is compatible with older versions.
- Face Maps have been removed, with their values converted automatically to an integer attribute (46cf093270).
- Bevel weights have been moved to generic attributes with the names bevel_weight_vert and bevel_weight_edge (2a56403cb0).
- Existing access to bevel weights (MeshEdge.bevel_weight) has been removed in favor of the attribute API.
- Forward compatibility is not preserved, though old versions will read the new generic attribute.
- Vertex and edge crease have been moved to generic attributes as well, with the names crease_vert and crease_edge
- The MeshEdge.crease property has been removed.
- The mesh properties vertex_creases and edge_creases now return attributes directly.
- New functions {vertex/edge}_creases_ensure and {vertex/edge}_creases_remove create and remove the attributes with the proper domain and type.
- The sculpt_vertex_colors API has been removed, replaced by mesh.color_attributes (6805657a39).

Other mesh custom data functions redundant with the attribute API have been removed: vertex_layers_float, vertex_layers_int, vertex_layers_string, polygon_layers_float, polygon_layers_int, polygon_layers_string (d41021a7d4).
- Mesh.calc_normals is no longer needed and has been removed (ab5fc46872).
- bmesh_from_object and BVHTree FromObject now require an evaluated dependency graph to retrieve the final mesh
- A deprecated argument has been removed from the split_faces function

- The curves.select_end operator is now named curves.select_ends. It has a amount_start and amount_end property to select points from both the front and back.

- The unused width_hidden property has been removed
- NodeItem and NodeCategory definitions have been removed for shader and compositor nodes (15f5dfd45d).
- The add menus can be extended the standard way from the Python API, with the ID names NODE_MT_shader_node_add_all and NODE_MT_compositor_node_add_all.
- node.inputs[xxx] and node.outputs[xxx] take socket identifiers and availability status into account

Shader Nodes:
- The Glossy BSDF and Anisotropic BSDF nodes have been merged (8cde7d8f8a). In the Python API, the resulting node is referred to as ShaderNodeBsdfAnisotropic. When creating nodes, ShaderNodeBsdfGlossy is still accepted as an alias, but it will result in a ShaderNodeBsdfAnisotropic being created. Add-ons and scripts should replace usage of ShaderNodeBsdfGlossy with ShaderNodeBsdfAnisotropic, which will also work with previous versions all the way to pre-2.80.

The Principled BSDF node has been revamped and now aligns more closely to Standard Surface and OpenPBR. Various sockets were renamed:
- Subsurface -> Subsurface Weight
- Subsurface Color removed, use Base Color instead
- Specular -> Specular IOR Level
- Specular Tint changed from float to color
- Transmission -> Transmission Weight
- Coat -> Coat Weight
- Sheen -> Sheen Weight
- Emission -> Emission Color

- Light properties for falloff, attenuation and shadow buffers were removed. These were not used by Cycles or EEVEE

Particle System:
- ParticleSystem.child_nbr has been renamed to child_percent e82ca9b5ff.

Blender Application (
- Remove deprecated

Blender Operators (bpy.ops):
- Remove the context override argument to bpy.ops in favor of context.temp_override(..) (ac263a9bce)

Font Module (blf):
- blf.size() dpi argument has been removed (9357f7b606).

GPU Module (gpu):
- - Remove deprecated 2D_ / 3D_ prefix for built-in shader names (9a8fd2f1dd).

- FCurve.update() now also deduplicates the F-Curve's keys (6452eccc80).
- Action.frame_range now accurately reports zero-length frame ranges (49eab72141). Previously, it was special-cased to construct and report a 1-frame-length range if and only if the action was exactly zero length (not e.g. 0.001 length). This was confusing and easily misinterpreted as being a minimum 1-frame-length range or as being an exclusive-on-the-right range, neither of which have ever been the case. The new behavior simply reports the actual frame range as-is in all cases.


Layers and bone groups have been removed with all associated properties and methods. Bone collections have been added instead
- Now behaves similar to object creation, and does not automatically add the created bone to any collections. To emulate the behavior of the add bone operator, manually assign the bone to if it is not None
- The deprecated use_inherit_scale bone property has been removed

Node Groups:
- Node groups API moves from NodeTree to NodeTree.interface.

Asset Bundles:

Human Base Meshes:
- The Human Base Meshes bundle got an update with new models, improved topology, and various fixes. Download it from the Demo Files page.

New Assets:

Planar Head:
- For reference or as a sculpting base
- Generic base topology for flexible deformation

Generic Head Topology:
- Generic base topology for flexible deformation and sculpting/modeling base
- Includes various shape keys for various example head shapes

Various Primitive Assets:
- For quick start into new character design sculpts
- Stylized and realistic assets
- Body and head assets
- Separated into multiple objects with parenting for fast non-destructive object posing
- Linked object data between left and right side objects.
- Includes subdiv modifier

Replaced Realistic Male Body:
- Based on scan data for increased realism

- Tooltips now are now added via the asset description
- Improved eye scale on realistic assets
- Various small fixes and improvements to existing assets


Blend Files:
- The mesh format changes from previous versions are now included in the Blender file format.
- Blender 3.6 LTS can read files saved with 4.0, but earlier versions cannot.
- Blender 3.6 LTS will save meshes in a format compatible with older versions of Blender, so it can be used as conversion tool if needed.
- See the section in the Python API section for more details.
- The new blendfile compatibility policy (#109151) has been implemented (see PR #110109).
- Unused linked data is not kept anymore when saving and re-opening .blend files. See the core page for details.

Graphics Cards:
- The minimum required OpenGL version has been increased to 4.3 for Linux and Windows
- On macOS only Metal is supported now, and the OpenGL backend has been removed. A GPU with Metal 2.2 support is required. Intel Macs without an AMD GPU require a Skylake processor or higher
- Due to driver issues, support for Intel HD4000 series GPUs has been dropped.