Page MenuHome

Proposal: Improving Brush Workflow in Blender
Open, NormalPublic

Tokens
"Like" token, awarded by Jakuarella."Love" token, awarded by sebastianmroy."Love" token, awarded by johnsyed."Love" token, awarded by mendio."Love" token, awarded by JulienKaspar."Like" token, awarded by budip."Love" token, awarded by Jules."Love" token, awarded by rawalanche."Love" token, awarded by julperado."Yellow Medal" token, awarded by manitwo."Love" token, awarded by xrg."Like" token, awarded by craig_jones.
Assigned To
None
Authored By

Description

This is an ongoing design-topic about improving the way we handle brushes in Blender. This applies to Grease Pencil Draw Mode, Texture Paint Mode, Vertex Paint Mode, Sculpt Mode and so on.

Terminology

Tool

A tool a something that can perform a type of operation. Extrude, paint, erase, line etc are tools.

Brush

A brush is essentially a preset for tools. As an example, the draw tool has a bunch of options for stroke width, textures, curves, spacing and so on. A brush acts as a preset to set these various settings which can be combined to create infinite combinations of settings. Brushes act as a way to save and reuse these tool presets.

Problems

The way we handle brushes in Blender is has some issues:

In the toolbar, we directly select brushes, rather than the tools they belong to. This means we mix up brush icons and tool icons in confusing ways. In fact, the brush icons currently can’t update to reflect changes in brush settings, making the icons go out of sync if you make changes to the brushes. It also makes it so the list of tools in the toolbar becomes very long, because we mix both tools and brushes, and there’s a toolbar entry for every brush variation. So if you use Sculpt Mode, and want to make three brushes for the Smooth tool, the Smooth tool now has three copies in the toolbar, all with the same Smooth icon. That is not great.

Even worse, sometimes we don't even put tools inside the toolbar, because of this clash. Case in point: In the Grease Pencil Draw Mode, the Line, Oval & Rectangle tools are placed in the header, not the toolbar, which has the brushes instead. The distinction between tools and brushes is unclear and often swapped around in inscrutable ways.

Proposal

We can make this much more straight forward to use, and much more powerful, like so:

In the toolbar, we only show the tools.

The brushes then become a property of the tool, and can be selected in the tool settings/top bar. This means we can make nice generic icons that represent the tool, and then dynamic brush icons in the brush popover that updates to reflect the changes in settings, like this:

Here you can see the list of tools on the left, and the brushes popover in the top bar.

Here's a more visually complete version:

This is using Grease Pencil Draw mode as an example. With this change, we can now properly put the Line, Oval and Rectangle tools inside the toolbar and make the brushes separate, so they can apply to any of the tools used.

In the Tool Settings, we can display an expanded version of the Brushes popover to quickly switch between brushes:

The brush icons update dynamically to reflect the changed settings, making brushes much more useful. Users can still name brushes and share them, just as before.

Here are specific examples of how the tools and brushes in the various paint modes in Blender:

Grease Pencil Draw Mode

Here we should add the Line, Rectangle & Circle tools to the toolbar, and then expose the brushes for the corresponding tools.

Texture Paint Mode

Vertex Paint Mode

Blending Modes should become brush settings, not separate entries in the toolbar

Weight Paint Mode

Blending Modes should become brush settings, not separate entries in the toolbar

Sculpt Mode

Quick Access

With this proposal, users can change the active brush using the top bar. To make switching faster, they can also directly select the active brush in the Tool Settings tab in Properties. However, when the Properties isn't visible, we could still have other quick ways to access brushes.

One idea, is to use a shortcut to bring up the same brush panel with previews, and users can select brushes from here. We could even enable shortcut keys here, so that typing any number on the keyboard would enable a given brush.

The exact shortcut can be defined as part of the keymap, and can be decided separately.

Switching Brushes

In order to make switching brushes in Blender fast and fluid, we should provide an expanded list UI, so that users can directly click on any desired brush directly, without having to open up a popup to do so every time. The dynamically generated brush previews help the user to know what the brush will look like.

Now that all the tools in our paint modes are expanded and directly available in the toolbar, we can add an affordance so that users can hold down on the tool to get a fly-out popover to set the brush, like so:

Here's an example of the same thing in Sculpt Mode:

By default, we only show brushes that are relevant to the active tool. When switching brushes, you don't expect the tool to change, only the brush, and this approach makes it easier to categorise brushes.

However, there are some situations where it can be useful to quickly jump between specific brushes across several tools. We can support this by having a toggle to enable viewing all the brushes in the current mode:

With this enabled, we can still display the tool that the brush will activate when you enable it, using the tool icon here:

Something we can do to aid in switching and organising brushes, is the ability to group them by category. If a user has, say 200 brushes, keeping them all in one list is not tenable. Therefore, we can support a way to give each brush a category tag name. At the top of the brush selector, users can then switch between these categories:

Another thing we can do here, is add a way that users can favourite certain brushes they may use a lot, even if they are in different categories. By clicking the heart symbol, the brush is added to the favourite brushes category:

Details

Type
Design

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

As a side note, generate the previews of the brushes is not a simple task for grease pencil, but in any case, it will be necessary to create a generic API to get the brush previews as is done with the file preview.

Yes, that makes sense to make it generic, so that all the paint modes could use it.

I'm not sure about this, why can't we have both brush and other tools in the toolbar?

As far as I can tell this would make the toolbar almost empty in sculpt mode, with just a brush, border mask and border hide. It wouldn't be obvious how to assign shortcut keys to brushes. Switching from e.g. the fill tool to a specific brush would require 3 clicks instead of 1. You switch between brushes very often, perhaps even more so than to other tools, so to me it seems this deserves to be a top level thing.

Having more space for the stroke preview is nice, but I'm not sure that's worth hiding in a menu or taking up so much horizontal space in a panel.

Well, in Sculpt Mode, most of the brushes essentially *are* tools. It's confusing. There is one brush per tool in Sculpt Mode by default. But if you add more brushes, it starts to get really confusing, because it looks like you are adding more tools, and it's hard to browse, and the icons stop making sense.

In the Paint Modes, you can delete all your brushes, but this also removes all the tools. It's very confusing currently.

It's much simpler to say: We have a fixed list of tools. In Sculpt Mode, that means Draw, Clay, Crease, Fill/Deepen, Grab, Snake Hook and so on. In Grease Pencil Draw Mode we'd have Draw, Rectangle, Polygon, Circle, Fill, Erase. When using any of those tools, we can have a separate, flexible and dynamic list of brushes to use with those tools.

So I guess this means:

  • Each tool only shows the matching brushes in the list.
  • If no matching brush exists, it will use some kind of default brush settings or automatically create a brush.
  • Shortcut keys would be bound to tools, but not to brushes.
  • Quickly switching between brushes within a tool would need some other mechanism, or is not considered very important.

About brushes by tool, we were thinking in grease pencil case, and the idea was filter the brushes by type (Draw, Fill and Erase), so when you select the tool draw, only the brushes of this type would be in the list.

In this way, we had only 3 tools in GP: Draw, Fill and Erase (internally all of them would be the same operator, but with a different init parm).

Brecht: right, exactly.

Antonio: I think GP would also have Lines, Circle and Rectangle tools in toolbar, in addition to this you mention.

William: Yes, I was talking of the "main" tools only.

For GP I think is not a big change, really I'm doing something similar in Sculpt mode (it's not using brushes but works in similar ways). The points I think are more complex are:

  1. Filter brushes. I can do easily creating as many RNA properties as tool types and filter in poll method or reuse same RNA property and use the tool and tool parameters in the poll.
  2. The preview of brushes. We would need a generic api to draw every type of brush (we have very different requirements for mesh sculpt, texture paint or gp brushes). I have not idea of this point because I don't know enough about this Blender area.

@William Reynish (billreynish) : we all agree in grease pencil team that separate tools from brushes would be a great workflow improvement.

@Antonio Vazquez (antoniov) is willing to do a test ASAP on the grease-pencil branch so we can see how it works and try to find the best implementation.
If we don't include the dynamic brush icons in this test stage, the change shouldn't be a lot of work for Grease Pencil in particular.

Sounds like a good plan I think.

I was thinking about the change we need to do to separate the brush from tool and there is one point we missed before.

If we have several tools (e.g. 3 drawing tools in grease pencil) we need to keep the last brush used for each of them. This makes necessary to add fields to keep this data, this is not a problem itself in grease pencil, but I'm thinking in general. How many tools has, for example sculpt? do we need n fields to save n tool/brush relationship? if we add new tools, will we need new fields?

The other solution would be to keep only one brush as today, but then the user need select the brush again and again and this is not a viable solution.

Maybe there are more solutions, but my limited knowledge about Blender as a whole limit my ideas.

I see two options here:

  1. The Brush stays consistent, even if you switch tools
  2. A different Brush is stored for every tool.

I think #2 makes the most sense. You might have set a certain brush for the Eraser, and then you probably don't want to use it for Draw or Rectangle.

Yes, I agree #2 is the right one, but... then we need a place to keep this data and this is the problem. We need the opinion of @Brecht Van Lommel (brecht) or @Campbell Barton (campbellbarton) about this, because add a new field for each new tool is not the best solution.

I like this idea very much, but I'm curious about the sculpt brushes. How would the brush preview work in this case...? For example I have 3 copies of the SnakeHook brush, with slightly different settings (mainly strenght and curve) but huge differences in the result they give when used, I can't see how the 2D preview can work in this case.
Even the current flat icons aren't good enough to properly show what the brush does. For sculpting I think the 3dish icon is a better way to show the brush functionality, not a separate preview.

Maybe for sculpt brushes would be better to just improve and expose the alphas in a better way in the UI?

This proposal sounds more like a Brush/Presets relationship than Tool/Brushes...??

By the way, with this system, how could I direct access/hotkey my sculpting brush "preset"?

I think that was not necessary to class brushes according to their tool use.

IMO, with a minimized toolbar on two columns, you have space to display 40 brushes.
The fact that list could be long is not a problem. For 60 or an hundred of brushes, i was expecting a customizable toolbar with favorite brushes on top and less used at bottom and the ability to scroll to reach those ones.
A simple color tinting of background of button or a one-letter/one-cipher/one-symbol overlay on button could have been sufficient to distinguish several brushes using the same tool.

Dynamic preview could be instead a little symbol overlay reflecting setting change.

Anyways , with exact same buttons, a user can still differentiate brushes by hovering them and waiting a little bit that tooltip show up indicating a different name.
The problem is already not a real annoyance.

Instead of a simple solution like that, you are complicating the UI and slowing the process of selecting brush that now, will require to select tool and then brush.
And the toolbar that is supposed to be a quick access will feel ridiculously empty in Grease Pencil draw mode and vertex paint mode.
If it is to display only 5 or 6 buttons, it does not worth to be in toolbar. Tools could be a popover in Topbar and brushes presets, buttons in toolbar.

bdp (budip) rescinded a token.
bdp (budip) awarded a token.

With the Quick Access on rmb, is this assuming lmb selection then? Because I need to be able to select an object to continue painting on it if I am painting multiple objects with lmb as my stroke/dab/fill etc. I often use paint and sculpt on multiple objects at once. If I do, will I then have another keymap for the quick access that you put on rmb then? Just trying to understand what it will cost for me to keep my ability to select and paint/sculpt.

No, it's not assuming LMB selection. Paint modes already use LMB for painting, both when using LMB select or RMB select. When painting or sculpting, you can't select objects anyway, so RMB is mostly unused. There would be a potential conflict through when using Vertex Paint Face Select mode.

We could also use a different, consistent shortcut, other than RMB, or somehow solve the mentioned potential conflict. That part can be worked out. The main point is that we could allow a quick way to get access to brushes, without the need for the Properties to be visible, or going to the Top Bar.

It could be under W for RMB select, since with LMB select it's like the context menu.

It reminds me a bit of the pop-up palette in Krita (and other apps):
https://docs.krita.org/fr/user_manual/getting_started/navigation.html#pop-up-palette

Yes, it could be. As for the context menu, we happen to just not really have any context menus for the paint modes. What you suggest would be the most consistent, so that W is always used for contextual things when using RMB select, and RMB is used for contextual things when using LMB select.

The comparison to Krita is apt. We could even add more of what they do, such as the ability to set the size, color and opacity too.

No, it's not assuming LMB selection. Paint modes already use LMB for painting, both when using LMB select or RMB select. When painting or sculpting, you can't select objects anyway, so RMB is mostly unused.

Yes, in blender 2.79, you can select an other object with RMB and sculpt (paint) it, there is actually a ugly bug in blender 2.8 objects don't update while in sculpt mode after selecting other objects :(

There would be a potential conflict through when using Vertex Paint Face Select mode.

I didn't see any conflict can you elaborate?

Usually the workflow goes like this in paint face select mode:

  • Select a face that you want to paint with RMB
  • Paint with LMB

And in sculpt mode when you have many objects, put them them all in sculpt mode (Dyntopo on ):

  • With RMB select a different object
  • With LMB sculpt

We could also use a different, consistent shortcut, other than RMB, or somehow solve the mentioned potential conflict. That part can be worked out. The main point is that we could allow a quick way to get access to brushes, without the need for the Properties to be visible, or going to the Top Bar.

Isn't it that with space bar, you can call the tool bar which is, in paint mode, brushes?

Yes, in 2.79 I select all the time when painting - I have two or more objects, each selected and then switched to Texture Paint mode. After all are in Texture Paint mode, then simply select the one you want to paint and go, and then select the next and paint. Face select masking also, must have selection as active for use here.

In sculpt, as Erick said, same thing. Multiple objects in Sculpt mode and selection to define active object for sculpt.

I am keen on the idea of the W popup for use similar to how we already have vertex/edge/face menus. I really like what you have proposed so far, and don't want to give the impression I am complaining - just want to be clear on how I use Texture Paint and Sculpt tool.

I'd rather have the tools that are currently on the spacebar (with some additions) as my right click context menu instead of the W menu.

A Krita-like context menu would be great to have! Hopefully mapped to RMB when LMB is used for selection :).

Now I have some questions about the tools and brush presets for sculpting, since it's a bit different than painting:

  • How would the preview of a sculpt brush look like?
    • Will it be a 3d preview?
    • Will it be updating in realtime as the user changes the brushes properties (like in Photoshop)?
    • Will I see the effect of the snakehook or crease brush on a little preview window while changing the curve or the strenght...?

I'm asking because a flat 2D representation of a brush that modifies the form and volume of an object wouldn't be too useful. That's a problem right now with the new icons, they're not as clear as the 2.79 thumbnails. For sculpting it's necessary to have an actual 3D preview/icon/thumbnail of the brush to clearly understand what it does.

  • How would alphas (textures) be handled? In 2.79 is still very cumbersome to add an alpha to a brush, would that process be improved or modified with this proposal? It would be nice, for example to hit the "New" button and have the popup window to immediately search for the image, instead of going all the way to the textures tab on the properties to set it properly.
  • Will there be an option to "tag" and "group" brushes? Also thinking about Krita here, if I create for example 15 brushes for skin detailing and wrinkles, I'd like to have the option to filter them or keep them under a single category.
  • This is a more of a general question, but since brushes will be esentially presets of tools, does that mean that we will be able to save, export and import them without having to save an entire .blend file just for brushes?

Julian: Regarding the sculpting brushes, I think the first step would be just to make it work with a 2D representation. 2.7x had icons, but they didn't update and stay in sync with changes to brushes, so they were not accurate at all. I think it's better to have a simple icon that represents the purpose of the tool, and then another brush icon that shows you the spacing, the size, the falloff, the texture and so on - this can be represented perfectly well just in 2D, and can then update live and stay in sync with the changes you make.

Now, hypothetically, if it were possible to somehow create live updating 3D brush previews for sculpt, that would indeed be great. It's just that A, it doesn't sound like it would be very easy at all, and B, even without that, this system should be so much clearer than what we have, even if you just get a 2D representation of the brush. Remember, currently we only show a name for the brush, next to the generic icon, which doesn't communicate enough information.

As for your other questions, I think you are basically correct in all three points. These things would be great to improve at some point.

Alphas are a hassle to set up, and yes, we aught to have a way to group brushes at some point. If you have 300 brushes, it's not so fun to scroll through them. And yes, saving/loading brushes is also very clumsy currently, because they always get stored in your .blend file, which is rarely what you'd want. On this last point, I hope the forthcoming Asset Manager can perhaps help here, to make it easy to import brushes into new projects.

Hi there, I put some of my feedback about brushes in sculpt mode in this video ( intro sculpting in Blender 2.8), warning is about 30 min long https://youtu.be/Qt8McFQPOBE

+1 for a brush per tool.

Would we keep brushes storing tool settings as we do now? Or would there be a goal of moving settings out of the brushes and into some intermediate structure?

Note: this could be considered outside the scope of this proposal too.

@Campbell Barton (campbellbarton) I never talked to move settings to Tool, I only want keep what brush is using each tool.

Two remarks from reading this discussion :

  1. RMB is in fact used in weight paint mode for selecting bones (and vertices/faces when selection mode is entered) and is quite essential (not entirely necessary because it is also possible to select the active vertex group from the properties editor, but I wouldn't get rid of it still, for it is very handy)
  1. it is important to me, and I assume others, to be able to switch between brush presets easily - in 2.7x newly created brush presets (thinking of sculpting brushes specifically) are auto-assigned to the number row, and more importantly are present at the same level as builtin brushes : this means switching from clay to smooth to a variation of clay is straightforward and involves clicking the same menu or just using the number row. With the proposed changes, if I understand correctly switching from clay to smooth would require switching tools - then, switching from smooth to 'clay-2' would mean switching back to the clay tool, then changing the brush preset. Since this tool/brush switching is arguably done quite frequently (as can be observed in many recorded sculpting sessions on youtube), I think it is important to keep brush presets as top-level tools, or at least find a way to make them accessible with a single click or hotkey (without having to go all the way and create a pie menu that does all the work for you - this is possible but really involved for most people).

I think this whole 'icons don't reflect brush changes' reasoning is sound but is trying to solve a problem that doesn't really exist. Since the toolbar is expandable and the tool name can already be displayed to the side, as well as use a custom icon (at least in 2.7 it was possible, haven't tried in current 2.8), I don't see this as a problem. Users have to keep naming their brushes and nomenclature organized, and create customs icons if things really get out of hand, but I would consider this to be the user's responsibility.

+1 for a brush per tool.

Yes please, this will make many of us happy with minimal keys shortcut in sculpt mode

Hey, this is obviously going in the right direction, but I would like to add this : having tool presets appear in the viewport toolbar would be fantastic (in a tab, or in a retractable part of the region).

Looking forward to the artist favorites sorting for the brushes, as this would be very helpful toward keeping workflows already done in 2.79 - have to ask if we will be able to access favorites across tools? Current state of dev makes sense but limits access from the Tool panel in the Properties editor, but if we could have a way to group brushes from different tools together as a tool kit set, that would be fast.

@Craig Jones (craig_jones): Yes I think that should be possible by setting the brush list to All Tools and then viewing your Favourites. This would give you a list of favourite brushes across all your tools.

Context popup: It's worth seeing how Heavypoly uses his own popup menu when working with GP on his YouTube channel. The popup is more efficient and eliminates multiple clicks, especially considering that he uses a pen almost exclusively.

Material & colour handling also needs to be factored into the workflow. E.g having easy access to Palettes/History and locking options.

@Charlie Jolly (charlie): Yes, I'd love to see a proposal on how to handle this in a general consistent way in all the modes.

@William Reynish (billreynish)
I thought about the dynamic brush previews in sculpt mode for a while now and I think the way it's planned right now works the best. Any other solution I could think of right now is too inconsistent, confusing or overly complicated to implement.

There are going to be a couple tools that can very likely have brushes in them that will have the same, similar or misleading brush previews though.
The reason for this is that some Tools like Flatten and Snake Hook are mostly tweaked with options like "Sculpt Plane", "Trim", "Plane Offset", "Rake", "Pinch", etc. and less so or not at all with textures, spacing or pressure sensitivity.
But if the name is properly shown as well maybe that's ok.

I would suggest to still give the possibility to override the dynamic brush preview with a custom image for those who do want their often used brushes to look more distinct.

@Julien Kaspar (JulienKaspar): Right. Hopefully, the previews will also show the effect of things like rake and pinch and those kinds of things.

Allowing for a custom brush icon is interesting, but then it needs to be considered how it can work together with the dynamic previews. The custom icon will, of course, not be able to update when settings are changed, so that would also make using them quite different and jarring. Hopefully the dynamic previews will be good enough that we would not need custom icons, and then we would add that back later if it really becomes necessary.

@William Reynish (billreynish) Sounds like a plan!
Once the brush previews are implemented in Blender I will definitely start experimenting to see which brushes would have problems with the previews. If it's just a couple configurations of settings that are not working as well then it's maybe not even necessary to bring back custom icons. We'll see.

@William Reynish (billreynish)
Over the weekend I was experimenting and thinking more about the new split between Tools and Brushes.
If we look at the Toolbar in all painting modes and compare them to the Sculpt Mode, the latter is becoming pretty bloated with single Tools that have only one Brush in them.
So my thought was: How about we merge similar Tools just how we merged similar brushes in the painting modes?

I started to experiment and it becomes pretty clear that a lot of Tools are basically the same. The Thumb Tool can easily be tweaked to work like the Grab Tool. Same thing with the Nudge and Snake Hook, the Clay/Clay Strips and the Draw and more.
The only real difference between these Tools is that some extra settings are removed from other Tools or just plain broken. Area Plane and View Plane work the same in Grab & Snake Hook so they cannot be turned into a Thumb or Nudge.
Crease and Blob are the very same only that the pinch effect is inverted to magnify in Blob. And so on and so on.

I'm not sure if this is too much effort/too complex for this task but I think it's relevant. The Brush/Tool system is being updated so why not think about changing it even more.
So my proposal is to merge the 17 main Tools (all blue,yellow and red) into 4-6 distinct Tools that got their settings merged into the same Tool for more free and less restrictive customizability.

  • Draw (Merging SculptDraw, Clay, Clay Strips, Layer, Blob & Crease and sharing their settings)
  • Inflate
  • Smooth
  • Contrast (Merging Flatten, Fill & Scrape)
  • Pinch
  • Move = (Merging Grab, Thumb, Snake Hook, Nudge & Rotate)

With this arrangement we could hopefully make redesign the Tool icons to be more distinct. We also shouldn't need the colors anymore and just go for white but maybe a bit of color coding to distinguish some Tools can still be useful.

Pinch and Inflate could also be merged with the Draw brush but they work in a more specific way: Inflate has as far a I see it a unique Sculpt Plane method and Pinch is only using the Pinch influence and no height adding/subtracting. If there could be a setting in the merged Draw Tool to lower the height influence (like the Plane Offset maybe?) then Pinch could be merged as well and there could be a new "Vertex Normal" option for the Sculpt Plane to mimic the Inflate effect.

I also left Smooth as a separate Tool because it is supposed to be the simplest and constantly accessible one. It doesn't have an inverted effect by holding control and every other Tool can easily switch to it with Shift.

There are also a couple brush options that need to be build in to make some brushes easily change into the same behaviour of others , (for example Snake Hook and Grab need a kind of Liquid or Falloff option)

The important thing is to make them all still as accessible as before, shortcuts should be applicable to Brushes as well as Tools and the suer can easily select them in the Tool Settings.

The last important thing would be to make the individual Brush preview even more distinct since they won't show a difference between a Flatten, Scrape or Fill brush and many more.
So I would suggest that we show:

  • The icon of the Tool
  • The Brush Name
  • The dynamic preview but maybe a bit less wide so it takes up less space
  • The curve shown as a circle + the texture (if used)
  • A custom or selected icon for the Brush

I took one of your mockups @William Reynish (billreynish) and quickly adjusted it. I just fear that my brush preview proposal might be a bit too bloated with the extra icon so perhaps the brush icon can be smaller and on one of the corners.


To explain the brush specific icon: If we redesign the Tool icons to be more distinct we could also keep the old ones or even create more icons for Brushes to chose from. Users can optionally choose an icon from a predefined set or use a custom one to be displayed as well. This selection can be similar to selecting a texture in the brush settings.
If no icon is used then the space will just be empty.

This proposal is not perfect but I hope it's a good conversation starter on how to massively improve brush customizability and update the Tools/Brushes to work similar to the other modes.

Can we just have the global brush palette back?
We need a way (a panel) to see and access all the sculpting brushes available.at once.
This new system is very hard and slow to use.

Agree with @ThinkingPolygons (ThinkingPolygons), for painting brushes I understand the need to categorize and bundle several brushes (just like photoshop or krita), but for sculpting I don't see the need to hide the brushes in categories. Unless there's tons of new brushes waiting to be added, which is probably not the case, can't see the benefit of it.
I personally switch constantly between crease, draw, clay strips and move. It would be very annoying and slow to be opening a submenu everytime I need to switch between draw and clay strips, or between move and snakehook.
If this is going to be added, then an option to display all brushes should be added too. For the LMB select keymap it could be a menu on the RMB, or set a shortcut that shows all the brushes, without the categories.

@ThinkingPolygons (ThinkingPolygons) I think I agree. It's less problematic right now but the more brushes are created or bundled together, the less usefulness the Toolbar has.
I was thinking of possibly displaying the brushes in the Toolbar as well. Perhaps a Tool could could be expanded downwards like a tab to reveal all brushes underneath or at least the favourite brushes? The problem with this would be that the brush preview still needs to work in a slim toolbar...
Plus the Tools would then look pretty different from the ones in other modes.

Maybe the proposed system still works. With RMB in LMB select you can open a brush selection menu that can display all brushes of all tools and if all shortcuts are still working the same way then it should be just as fast right?

Difference between Clay and Clay strips is not a setting exposed to user. OK draw brushes have a plane offset. But it is presented differently than height of Layer brush.
Thumb and Rotate may have few settings. It does not change the fact that they are not producing same result at all.
Grab will not stop to move vertices like Snake brush does.

Some tools could probably be removed. But most of the ones you are talking about are not just presets. Merging them as one tool implies to add things currently not exposed to user to UI of brush.
In some cases, it will imply to grey out some of them when one behavior is enabled to prevent ugly behavior.
It will make Sculpt mode more difficult to understand to a newbie.

Categorization by tool in toolbar does not particularly encourage people to create more brushes.
Reducing number of brushes by default or having an UI prioritizing some at detriment of others will just make sculpting workflow more obscure to new comers.
Zbrushcore does not provide 35 brushes just because that's a light version of Zbrush. But, because it helps beginners, too.
Among teachers, who said that removal of polish brush was a good idea ?

Blender have a multires workflow and a dyntopo workflow. It allows to add textures to brushes.
That would be legitimate to have around 15 or 20 brushes as default. Just to show what it is capable of.
With 2 columns arrangement, toolbar could be able to handle that without problem.

The problem with this would be that the brush preview still needs to work in a slim toolbar...

Material previews are displayed in smaller buttons.
There is a tooltip for those buttons. Previews could be displayed in tooltips.

If there is a problem with numbers of brushes to handle, people will be fine with a limit (32 or 48 brushes) displayed in toolbar. They could organize themselves and split their 300 brushes repository into smaller brush sets.
Nobody uses 300 brushes in one session. As long as filebrowser allows them to import the needed ones in a smaller brush set, that's fine.

@ronan ducluzeau (zeauro)

Difference between Clay and Clay strips is not a setting exposed to user. OK draw brushes have a plane offset. But it is presented differently than height of Layer brush.

Clay and Clay Strips have the Plane Offset setting and Height is a different setting with a different effect.
But I think it would be great if the Draw Tool had for example the Plane Offset setting as well for more customisability.
I am aware that there are more settings under the hood that make the Tools different but these are very simple and artificial.
You can still make a Clay Strips brush out of a Clay brush. There is not need to make these 2 separate Tools.

Thumb and Rotate may have few settings. It does not change the fact that they are not producing same result at all.
Grab will not stop to move vertices like Snake brush does.

There are only very fine differences though. If you add just a couple more options you could merge these Tools. But I do agree that Rotate behaves very differently. It seems like the brush is using the Area Plane setting with a not exposed Rake option and a kind of Falloff effect like the Snake Hook has.

In some cases, it will imply to grey out some of them when one behavior is enabled to prevent ugly behavior.

I disagree. Even with the current settings you can get ugly or weird behaviours. As long as no settings contradict each other, adding more settings should be fine.

It will make Sculpt mode more difficult to understand to a newbie.

There are already vague settings that are not easily understandable at first. Some Tools even have some special behaviours that are not exposed and take some time to understand. For example the clay brush seems to have a subtle fill/flatten brush effect to easily elevate areas and clean up detail.
Tooltips and good naming conventions can help with this if these settings are exposed.

Categorization by tool in toolbar does not particularly encourage people to create more brushes.

I'd argue the opposite. When more settings are available to each Tool it becomes more effective and easy to customise and experiment with creating new brushes. As long as the brush settings are not exploding with a vast amount of new options this should be no issue.

Reducing number of brushes by default or having an UI prioritizing some at detriment of others will just make sculpting workflow more obscure to new comers.

No brushes would be removed. The Tools would be merged and they would include all the currently available Brushes just like before.

Material previews are displayed in smaller buttons.
There is a tooltip for those buttons. Previews could be displayed in tooltips.

The brush previews are much wider as currently shown and need more space. Material previews are something entirely different.
Showing the brush previews as a Tooltip would slow down the brush selection tremendously since you have to wait for the Tooltip to show up to show you the brush. That would make the brush preview useless.

I don't understand some of the other arguments, sorry.
There would be no added Brushes in the Toolbar when creating new ones and I don't understand how multires and dyntopo plays into this discussion.

I am aware that there are more settings under the hood that make the Tools different but these are very simple and artificial.
You can still make a Clay Strips brush out of a Clay brush. There is not need to make these 2 separate Tools.

Sculpting brushes are made with their real-world correspondents in mind, from there it makes sense there would be several of them, even though they seem close in functionality - just take a look at that : https://img.banggood.com/images/upload/2015/12/SKU249516/9.jpg
Indeed we could have a single brush type with a bunch of settings to make it into everything and anything, but that is not what is needed - why exactly did this turn into a deduplication effort ? What we need is a polyvalent set of brushes for the user to start working right away, not spend their time in panels and sub-menus tweaking values.

I know I use both clay and clay strips a lot in alternation, along with my own presets (usually derived from either clay, crease or grab) and not only am I glad to be able to switch between them with a simple hotkey, I am also glad I found them as-is in vanilla Blender when I first booted it up with sculpting in mind.

@Hadrien Brissaud (hadrien) But I am not speaking against brush diversity or having them easily accessible and understandable.
I'm arguing against having a restrictive "one brush per 1 tool" starting arsenal when most of their options could be shared and made available for extra customisation that goes outside of the simple to understand brushes like Clay.
There are many opportunities with digital brushes over physical ones so why not make them all available. Just look at the creative and complex "double action brushes" that Pablo Munoz is building in Zbrush. exposing and sharing settings across Tools is not making them worse.
And as long as the well known and easily understandable brushes are still there and the essential settings are most exposed, it should be fine to add more options.

I understand that you argue in favor of making more settings available to more brush types - I consider this can only be a good thing ! However I also understood that in your line of thought this brought along the deletion of many brushes from the toolbar/quick-access/whatever because of their similarity to one another. Let me know if I misunderstood. To me, this would be ill-advised because being able to make several very different brush presets from a single brush-type/tool does not justify not making those readily available in the first place.

When more settings are available to each Tool it becomes more effective and easy to customise and experiment with creating new brushes. As long as the brush settings are not exploding with a vast amount of new options this should be no issue.

There are already many brushes with more than a dozen of settings in Brush panel. You have to add to that Stroke method and Curve tweaks to really obtain equivalents.
That is not easy at all to retain all usages of that.
Presets are giving clues to what is possible to expect from Blender Sculpt mode.

No brushes would be removed.

OK. But a toolbar reduced to tools instead of brush settle the idea that default brush as active tool is more useful than the other brushes.
Or the weird idea that switching between a Clay brush and a Crease one is not frequent.

I was thinking of possibly displaying the brushes in the Toolbar as well. Perhaps a Tool could could be expanded downwards like a tab to reveal all brushes underneath or at least the favourite brushes?

That would be acceptable. There is no reason to let something as minor as icons display ruining that idea.

Maybe the proposed system still works. With RMB in LMB select you can open a brush selection menu that can display all brushes of all tools and if all shortcuts are still working the same way then it should be just as fast right?

Yes, that would solve this problem.

@Hadrien Brissaud (hadrien)
I also think that removing Tools (or merging them) gives less usefulness to the Toolbar. But all brushes would still be quickly accessible with the RMB menu or in the Tool settings panel for switching brushes like proposed in the description of this task.
But I hope there can be a better way to still select the brushes in the Toolbar without opening an additional popover menu from it.

I would be interested in @William Reynish (billreynish) opinion on this ... when he finally read through all of this :D
After all this proposal is a pretty drastic change to the current design/systems.

I agree with @ThinkingPolygons (ThinkingPolygons) and @Julian Perez (julperado) We need a brush menu/panel that displays all the brushes available.

If this is going to be added, then an option to display all brushes should be added too. For the LMB select keymap it could be a menu on the RMB.

Maybe the proposed system still works. With RMB in LMB select you can open a brush selection menu that can display all brushes of all tools and if all shortcuts are still working the same way then it should be just as fast right?

Yes I agree, this seems to be a good solution.

Is this going to be worked on further or is it considered final ? (brushes as tools, global brush palette)

@Hadrien Brissaud (hadrien) Hopefully yes, this is an area that can improve - especially with dynamic brush previews.

@Hadrien Brissaud (hadrien) Hopefully yes, this is an area that can improve - especially with dynamic brush previews.

Wonderful - I am willing to contribute a mockup or two if that helps, UX-wise. I don't care much for brush previews but I guess I can be a nice quality of life addition. I am more interested in improving brush management/sorting and how it interacts with the new tool system.

What is mostly needed is a developer to implement it, that's all.