How to compare the scripts between the current and previous version of the experience?

Hello
I would like to see the changes of the scripts in my experience since the last published version.
Is there a way to do it (without comparing each of the scripts individually one by one)?

Thanks

1 Like

View Script History → right-click any script, and choose “View Script History”, pick two versions and hit “Diff”

Adding on to what @xnSly said, when it opens the window, there will be either red and/or green outlined sections(default color scheme anyway)

Red indicates that it’s not in the current version
Green indicates it’s not in the old version you’re comparing with

Anything not highlighted in Red/Green is the same between versions

1 Like

this works only for a single script. I do not want to go through each script in the game and do the same, just to find a single difference in 1 script

I understand how to compare 2 versions of the same script.
but first I need to locate in which script there is a difference at all.
I would like to get the difference between the scripts in the game in the current and in the previous version

ah you want to compare multiple at once, maybe look at Diffy — compare & diff scripts!, I’ve not used it personally, but it appears to do what you’re looking for

1 Like

Thanks for recommending my plugin :slight_smile:

Diffy doesn’t directly handle this use case since it’s outside of what a plugin can do (it can’t access two different place files at once).

However, Diffy does have a feature to diff many scripts at once, within the same place file. So what you can do is take all the scripts from Place File A (the old version of the game) and put them into a folder or something. Do the same with Place File B (the new version of the game). Then put both of these folders into the same place file, select the two folders, and perform a Tree Diff with Diffy. Make sure the folders have the same structure so Diffy can connect scripts inside the folders together.

… maybe I should come up with a way that Diffy can automate this process for a whole place file so there’s less manual work :slight_smile:


Also, @arag0rn23 have you tried using the “Activity history” feature? Activity history | Documentation - Roblox Creator Hub

This should let you see a log of what script changes were made and by who.

1 Like

thanks for your replies
I am the only who does changes in the game, so the activity history is not useful and it only tracks high level changes.
My use case is that I often need to do a small change or fix a bug, but sometimes I can inadvertently change some line in some script or inadvertently move a part or change a property of a model, while moving the camera around or browsing and filtering in the explorer.
So I would like to be sure before I publish that the only change, which I bring is the one which I did intentionally…

1 Like

I generally agree, although Activity History (in studio only) should track script commits which may be useful for you :stuck_out_tongue: (if you have team create enabled)

You can use Diffy for this! (At least for scripts, there are no solutions I’m aware of for instance properties etc.)

I work exclusively in Team Create with Drafts enabled, then whenever I have uncommitted changes I use Diffy to see all those changes and I can have a read over them and make sure I didn’t do anything stupid.

You can also use Roblox’s built-in diffing via the Drafts widget (but part of the reason I made my own plugin was that their diffing was very limited and updates to the diffing made its usability worse in various ways).

Even without using any diffing tools, using drafts is a decent way to stage your changes and check your edits before you commit them. It’s not bulletproof, but it’s the best we’ve got so far. It would be really interesting to have the ability to do full place file diffs…

Do you mean that you have enabled Team Create, although you are working solo?
Or you are working on a game as part of a team?

I have Team Create enabled even when working solo. Specifically with “collaborative editing” / “drafts mode” enabled. I do this because I prefer having my script changes be tracked and visible to me instead of them being invisible.

Alternatively, one could use external tooling like Git, Rojo, etc., (which is generally more robust and flexible than studio’s source control) but I prefer the studio environment and I don’t need advanced source control stuff, so I don’t do that.