# Undo



## thusup (Jun 24, 2018)

I don't understand how there aren't undo and redo buttons yet. People have been asking for at least two years:



Travis Reames said:


> My personal list:
> 
> UNDO - CNTL + Z PLEASE!!! Nothing is worse than accidently mouse clicking something and moving or resizing or via the gui over the preview...





Suslik V said:


> There is
> 
> no undo/redo or apply button





mjgj96 said:


> Recently I've come across the issue of losing all of my scenes and elements. Having spent 100+ hours tweaking these settings I found it mildly infuriating that there is no changelog for scenes, scene collections, profiles, etc. This also got me thinking about how there is no way to "Ctrl + Z", or undo, when you've made an edit to your scene.
> 
> I would like to propose integrating a client based changelog that can manage any user changes made including scene edits, past scene collections and profiles, and any other aspects of the program that may benefit from this upgrade. I'm sure there will be a large majority of us that will rejoice over the ability to "Ctrl + Z"!





NLeseul said:


> Perhaps the real problem, though, is the lack of an undo function, so a user can't fix a mistake like that after they notice it?





X-blaXe said:


> Hi, as the title say I think it would be nice to have a Undo and Redo command when it comes to positioning settings and sources order



You're saving settings to a text file. It's not that hard to maintain a rolling backup of the last settings saved to disk and expose to the user a button to return to that backup.


----------



## dodgepong (Jun 28, 2018)

I agree that this would be a good feature. Feel free to show your support for this request here: https://ideas.obsproject.com/ideas/42/add-the-abilities-ctrl-z-undo-and-ctrl-y-redo


----------



## stephenqualls (Jun 30, 2018)

Yeah, it will be good have undo and redo buttons.


----------



## NLeseul (Jul 4, 2018)

Well, the reason it hasn't happened yet is basically just that undo is a really bloody complicated feature to add, if you haven't planned an application for it from the outset. 

Basically, most application APIs, including Qt, offer something like an "undo stack" that is used for supporting undo operations within applications. To use the undo stack, you need to wrap every change you make to the application's state in an "undo unit", and send that unit through the undo API to be processed. The "undo unit" also needs to provide instructions for how to reverse the state change it describes. Then, if the user actually executes an undo operation, the most recent undo unit can be pulled off the stack, and have its reversal operation applied. (For the curious, Qt's documentation of the API involved is here.)

Now, OBS Studio wasn't built with undo behavior in mind. That means that any time you take an action in the UI, that action is executed directly on the data; it isn't wrapped into an undo unit and stored in the stack. So to implement undoing, someone would need to go through every single action you can possibly take in the OBS Studio UI, convert it into an undo unit, and write some code to reverse the action. It would be a pretty sprawling change that would affect nearly everything in OBS Studio, and would require quite a bit of testing to make sure that nothing gets broken in the process. So, understandably, no one has yet chosen to commit the time it would take to implement this. 

It's unfortunate, because it's a pretty glaring missing feature, and I definitely wish it had been built into the structure of OBS Studio from the beginning. But adding it now would be a pretty big project for someone.


----------



## Odagen (Feb 9, 2021)

2021 and still not having an undo button ? what's wrong with OBS? Is able a plugin for OBS to add this UNDO button?


----------



## khall187 (Feb 19, 2021)

WE NEED A G(*$#  D@(*&#$ *UNDO *BUTTON ALREADY!!!!! 
CTRL-Z EXISTS IN VIRTUALLY *EVERY *OTHER PROGRAM *EVERRRRR *


----------



## OdeChan (May 25, 2021)

I'm not an OBS developer, but I'm happy to let you know this has been added in OBS v27 (currently in pre-release) :)








						Releases · obsproject/obs-studio
					

OBS Studio - Free and open source software for live streaming and screen recording - obsproject/obs-studio




					github.com


----------

