Blender UI paper cuts



I agree with what you say about removing the padding from the top bar, and I agree that the toolbars icons should be either the same size as the rest, or upon user override(through user preferences) at either 2, 4, 8, etc. times the size(of the other icons).

I am inclined to disagree with the removal of the blender logo at top left, but perhaps it should be optional.

On the subject of the icon for the currently selected tool I think it should be able to open up when clicked into a list of all the available tools, except unlike the 3D view-ports tool pallet it should be listing horizontally.

And on the topic of the tool pallet it should actually be a pallet that docs to any of the available view-port corners(so perhaps not the top right) and I’d even like to see it optionally floating around should the user choose to move it as such.

This in turn might open up the possibility to add back an action bar similar in nature to the “tool-less toolbar” as it essentially was in 2.79 and previous versions. Optional of course, as should be the tool pallet.


you can always turn off the selection outline, much better.


or we can have it as an option called “intelligent playback”


When clicking and dragging on empty space with the select/tweak hybrid tool I can’t create a box selection. I can understand why it wouldn’t when clicking and dragging on mesh - tweak gets triggered, but when clicking on empty space what should happen is:

Press mouse button on empty space > deselect, while still pressing, drag a box:

if [box is drawn on empty space alone]:
do nothing(already deselected)
select whats within the bounds.


I’de love it if smart playback (or preview playback) became the default. it’s super fast for refining keyframes. I couldn’t resist so I ported my script to 2.8 if you want to try it out. this adds a “preview” button to the timeline. I have it bound to spacebar.

import bpy
from mathutils import Vector

bl_info = {    
    'name': 'Playback Preview',
    'author': 'Bay Raitt',
    'version': (0, 1),
    'blender': (2, 80, 0),
    'category': 'Animation',
    'location': 'Timeline  > Preview Toggle',
    'wiki_url': ''}

playing = "False"
brCurframe = 0
brStartRange = 1              
brEndRange = 72

class BR_OT_fastPreview(bpy.types.Operator):
    """play range and return to current frame on stop"""
    bl_idname   = "screen.fast_preview"
    bl_label   = "Preview"
    bl_description = "start playback from the first frame"
    def execute(self, context):
        global playing
        if playing == "False":
            global brCurframe                     
            brCurframe = bpy.context.scene.frame_current
            context = bpy.context
            c = context.copy()
            previewStart = bpy.context.scene.frame_start 
            previewEnd = bpy.context.scene.frame_end 
            for i, area in enumerate(context.screen.areas):
                if area.type != 'GRAPH_EDITOR':
                region = area.regions[-1]
                print("SCREEN:", , "[", i, "]")
                c["space_data"] =
                c["area"] = area
                c["region"] = region            
                h = region.height # screen
                w = region.width  # 
                bl = region.view2d.region_to_view(0, 0)
                tr = region.view2d.region_to_view(w, h)
                previewStart = int(bl[0])
                previewEnd = int(tr[0])
            bpy.context.scene.use_preview_range = True
            bpy.context.scene.frame_preview_start =  previewStart
            bpy.context.scene.frame_preview_end =  previewEnd
            bpy.context.scene.frame_current = previewStart

            #bpy.context.scene.frame_current = bpy.context.scene.frame_start            
            playing = "True"   
        elif playing == "True":

            bpy.context.scene.frame_preview_start =  bpy.context.scene.frame_start
            bpy.context.scene.frame_preview_end =  bpy.context.scene.frame_end

            bpy.context.scene.use_preview_range = False

            bpy.context.scene.frame_current = brCurframe
            playing = "False"  
            print ("woo")   
        return {'FINISHED'}

def menu_draw(self, context):

def register():
    from bpy.utils import register_class

def unregister():
    from bpy.utils import unregister_class

    if __name__ != "__main__":
if __name__ == "__main__":


Scroll panels into view if necessary (Properties Editor)

  1. Add a mesh and a metaball object (for instance)
  2. Select the mesh object and open several panels in the Object Data tab of the Properties editor.
  3. Scroll down to the last panel (Custom Properties)
  4. Select the metaball object
  5. The Properties panel will look completely empty, and no scrollbar shows up on hover
  6. You need to scroll up or resize the area in order to see anything of the panels

Note: if you previously expanded the metaball panels or have a tiny screen so that a scrollbar is needed for the content, then the behavior can be different. Follow above steps, but instead of scrolling up in step 6, just move the cursor around over the Properties panel. The panels may show shortly after.


AMAZING JOB MAN, really would like this to be part of b3d.


Answering myself: cut-links work provided you have arrow-selection tool activated.
Now, I even ignored that active tools were in the node-editor, my fault.
But: in factory default the toolbar is hidden, and the active tool is box selection! This makes cutlinks unusable! I wish ctrl-rightclick to cut links was available in all selection modes.
Also, speaking of node wrangler, that useful red/green preview when linking or mixing nodes… were are they gone??


When you set the navigation bar to the right, you cannot click the buttons if you move the mouse to the edge of the screen.
There is an outline around the buttons, that possibly prevents lazy selection. In the outliner above you can click to select even if you move the mouse to the edge.


well known issue - work in progress…


Maybe it is a good point to make UV edit in UV/image editor opened by default?

Here is an example, that 2.79 users can’t understand what’s going on:


I assume the idea is if you’re having trouble setting up the uv/image editor for editing uvs, you’d use the workspace labelled “UV Editing” at the top of the screen.
Presumably that tool message is a bug. Though it is strange they added another mode to the image editor, whilst taking them away from the node editor. Seems like conflicting design decisions.


I requested this as well but it got buried. YES UV Edit should go back to being the default mode when you split the widow. (not just the default in the UV Editing workspace)

The view option is not going to be useful as often, and having the UV Editor hide your UVs is as counter intuitive as what @pablovazquez noticed today about hiding annotations by default in the node editor.


The plan is to make the UV Editor a separate editor type, as far as I know. Similar to what was done for the node editors, same underlying code still but different entry in the editors menu.


@brecht: Yes exactly. This should remove any user confusion. The user then can pick UV Editor or Image Editor depending on the task.


@brecht @Hypersomniac It was also planned that the UV editor would go shading as in Substance Painter, wasn’t it?


A great thing (For me) to have is an option for ‘Blend Mode’ when importing ‘Images as Planes’ something I use extensively. for a sequence of images we have the ability to set the shader to emission which is great, however after I import them I have to go to the materials tab and set each image to ‘Blend Mode/Alpha Blend’. A repetative task that is painful with lots of images.

Here is a screenshot of what I mean and a mock up of what the ‘Images as Planes’ import panel would look like…



Would it be possible for these widgets to discard the editing when pressing esc or RMB, like the other elements of the UI?




It would be nice, I haven’t seen concrete plans for it though.


when rotating the camera to inspect the scene, the mouse cursor should be hidden. especially if alt+LMB is used, as the mouse warping of the cursor at the edge of the view is very distracting.