Automatically make a history waypoint after the command bar is ran

As a Roblox developer, it is currently too hard to undo command bar changes.

Undoing command bar changes requires adding a history waypoint in the command bar, which defeats the quick-and-easy nature of it. game.ChangeHistoryService:SetWaypoint("Cmd")

By making this automatic, it will become easy to undo changes made in the command bar with no extra work.

If Roblox is able to address this issue, it would make the command bar easier to use.

49 Likes

This might be too complex for roblox to add, as you have to remember the case where loops and new threads are being used in commandbar which will keep making changes past initial execution.

1 Like

I imagine this working the same way that toggling Disabled would while a script is running.

1 Like

What would one do about bindings like BindToRenderStep? Pretty sure those still stay but can’t test.

1 Like

I think this would be cool in the form of a checkbox or something, like right under the command line input.

4 Likes

Just had a bad experience that could have been avoided if this was a thing.

I ran something in the command bar, then some time later, undid a part movement, which consequently rolled back all the snippets I had run. I didn’t notice at the time, so redo wasn’t an option when I noticed later. (I was adding unique IDs to a bunch of items so I could change the display names later on down the line without breaking saved data.)

Came here to suggest this and found this thread. Just wanted to put in my use case.


And to address @Rerumu

This might be too complex for roblox to add, as you have to remember the case where loops and new threads are being used in commandbar which will keep making changes past initial execution.

Even if it is too hard, I feel like it could still be worthwhile to add the history waypoint after the first time the code yields. I would imagine that most code run in the command bar is just chore work like I mentioned above, so it would still be really helpful to have, even if it doesn’t pick up changes after the first frame.

5 Likes

This would be a good case for the addition of a “Create Waypoint” checkbox. I am increasingly seeing developers make use of the command bar in favor of manually doing repetitive tasks, such as editing several instances of the same object.

4 Likes

I frequently use the command bar for speeding up manual tasks. I would feel more comfortable doing so if I knew I could safely undo command bar changes. Ive had issues with undo eating a lot of command bar changes without that being my intention.

3 Likes

Bumping this because I’ve had more “accidents” where I run a simple command and hit undo, then everything is just ruined… It’s especially apparent with humanoids… This is one issue I’ve had with Studio for years and I would really love to see it resolved.

3 Likes

Like many others, I have just had a bad experience with this. I transfer large models that my modelers create in construction sites (separate places) to then go into the main game. When put into the test server they have to be in a precise position when the game starts in order to function properly. This is due to continuity in geometry it cannot be avoided by “coding better”. My command is simple. It finds the current model (now manually put into replicated storage to start what I call a “ship transfer”. And it places the new constructed model (sometimes even rotated differently and hundreds of studs away from where it needs to be, and it goes into one place using a main part. Once the newly constructed ship is in place along with a folder that gets transferred from the old model to the new model, it removes the older model which is no longer needed. My problem was messing up the Y position within the command bar, and now I have to revert to get the old model back and start the ship transfer over.

A waypoint that I can pin right before I do a command like this, would allow a much quicker revert than file saving, or using the official revert system. However, the revert system now is much better than it was when this was originally posted. Great news with that

3 Likes

I still need this, but as an optional checkbox, preferably on every execution? Since sometimes I won’t even be making any changes to the place but quickly printing something. But even that could be an option. As a Roblox developer is too easy to forget to set a waypoint yourself.

The worst experience for me with lack of automatic waypoints is that I gave a welding script to someone I was helping out so they could weld their train together. Usually my scripts are improvised and due to my experience they almost always work. Well for this one case it turns out it didn’t work the first time, and all the parts were welded together in one place, completely destroying the train. The person that made the train was unable to recover the train before my mistake because I forgot to set a waypoint because I assumed it would work right off the bat.

But I’ve had my own welding issues but they weren’t as big as that story so manually going in and undoing them wasn’t too big of a deal.

If this is added I won’t make big mistakes like this, and it will ease the development process for me when welding things.

4 Likes

I am tired of having to re-do a task each time I have to undo a command. This really shouldn’t be that hard to implement, yet it would save me a lot of time.

1 Like