When I started out with Blender I often find myself making mistakes. There were many times in a row where I had to go back by using Blenders undo and history. Yet I often found myself stuck with too few undo steps. Much later I dove into this problem and much later still, I decided to share what I learned in the hopes to help others so that they won't remake my mistakes.
How to work with history and undo in Blender? Ctrl+Z is the shortcut for undo in Blender just like in all other applications. There are also operations related to undo that you can find in the edit menu. Things such as "repeat last" and "undo history".
In the rest of this article we will dive deeper into the history and undo part of Blender. A rabbit hole slightly deeper than you first might think.
Let's begin by looking at what settings related to history and undo that is relevant for us.
To find the undo settings, go to Edit->preferences and find the "System" section.
In the memory and limits section you will find 3 settings related to undo. The number of undo steps. The default is 32 and max is 256. I used to keep mine at around 70 steps but I later realized that it does not have such a huge impact on memory usage so now I use 256.
The next setting is "Undo memory limit". I keep this at 0 to essentially disable the setting and let the "undo steps" be the limit no matter how much RAM the undo steps use up.
The last setting is "Global Undo". Without this enabled Blender will only keep the steps in history made in edit mode. The Object mode changes will not be stored in the undo queue. I find it more useful to keep this setting enabled to have as many operations available for undo as possible.
Now we will take a look at the operations that are related to undo. All of these operations are available from the edit menu and a few of them has a shortcut key assigned.
The obvious operations are undo and redo. Their shortcuts are "Ctrl+Z" for undo and "Ctrl+Shift+Z" for redo. Redo is only available when an undo operation has just been performed. If you make any other operation in between the redo stack is empty and no data can be retrieved from it.
The repeat last operation has the shortcut key "Shift+R". Repeat last does not affect the selection operations. This means that we can make an operation and repeat it again on the same selection, or we can select something else and repeat the operation on the new selection.
Keep in mind that toggling between edit and object mode is considered an operation and breaks this pattern. Therefore, we can not move something in object mode, tab into edit mode and make selections and then repeat the initial move operation.
But as long as we stay in the same mode we can repeat last on any selection.
In the edit menu we also find the repeat history command. This is similar to repeat last but lets us choose from the undo history what operation we want to repeat.
The undo history let us undo several steps at once. When we use this Blender will display a list of all the operations that are saved in the undo history. We can click on any of them to go back any number of steps up to the max undo steps that is set in the preferences.
If it is not clear by now: we are not talking about the first crowdfunded project of the internet or raising 100,000 euros here. For that kind of history you can go to the Blender website and read all about it.
Instead, we are asking, what is actually considered an operation that is significant enough to go into the history stack. Enabling undos, and redos, repeats and history.
The line is a bit diffuse between what goes in and what does not. But there are three main areas that does not qualify for the history stack that I have found. Those are camera movement, interface changes and preferences.
Also, keep in mind that any settings changed in the operator panel or any kind of popup window is generally not going to the history stack. This is because these settings are inputs to an actual operator. These settings are not operators in themselves and you can't undo them.
An example is the settings used to create a new image from the Image editor. You can't change the color or resolution, but once the image is created you can undo the creation of the image as a whole.
All of those makes a lot of sense not to have in the history stack. Let me give you an example.
Let's imagine that you are in edit mode, making hundreds of operations on your geometry and once in a while you undo a series of operations that didn't turn out the way you wanted.
What if your camera was part of that undo stack? Every time you wanted to undo a few steps the camera would jump around making it very hard to keep track of what is actually happening.
Camera movements would also fill up the undo stack very quick. There are similar reasons for other operations not to be in the history.
As a general rule I found that there are two groups of operations that go on the history stack.
The first one is any operation or action that can potentially have an effect on the end result of the file. Something that changes data in our scene. This could be transformation operations, adding modifiers or changing render settings among others.
The second group is interface or tool options. While preferences and interface changes don't go into the history, tool settings usually do as well as any parameter change in the properties panels.
For instance toggling proportional editing or snapping on and off is added to the history. But there are exceptions to this as well. Changing the view mode between solid and wireframe is an operation that is not added to history for example.
There is clearly no hard line here. But if it makes sense to have an operation added to the undostack it is probably added.
Where does blender save user preferences?
By default, Blender saves its preferences in the user subfolder in a file called userpref.blend. You can reset blender to its default settings by going to File->Defaults->"Load factory settings".
How do I delete everything in Blender?
If you want to delete all objects in your scene you can press "A" and "X" and press "Delete".
If you want to delete unused data such as materials with no users, you can save your file and reload it. You can also go to the outliner and in the "display mode" menu, go to "orphan data" then hit "purge".