Realtime Script Editing

As a Roblox developer, it is currently too hard to work collaboratively in realtime with other developers on a game. Although Roblox has taken great steps into improving the Team Create experience, I, along with many other developers, find great interest in scripting with each other in realtime instead of having to wait for one developer to finish and commit a draft (using Collaborative Editing) or waiting for them to close the script for changes to update.

Realtime editing allows scripters to resolve all conflicts in realtime instead of waiting for another developer to commit a change and look through the edits that they have made. It is also much easier to fix bugs while it is being made instead of waiting for the other developer to finish making changes and read through all of their edits at once to try and debug.

This will also allow the scripts to become a live chatroom for developers to resolve conflicts. Gone would be the days of having to send a message to the other developer through other ways - be it the Team Create chat (which not many people use at all), Roblox chat/messages (not many people I know use that either), or a Discord group chat/private DM. If someone were really focused on their scripts, which can sometimes happen to me, being distracted by DMs can be annoying and I will end up in Do Not Disturb mode, resulting in me taking up to half an hour to reply. If the issue were urgent, then this half an hour of time could have been used to fix that urgent issue simply by putting a comment right under where I am editing. This is something that I would see right away instead of receiving no notifications from other messaging services that are available to developers.

An issue that I met on Github was that when a bug is posted and I begin to work on a fix for that bug, so might another person. However, since I typically take longer breaks in between scripting work, another developer might have already committed a change that fixed the bug. Realtime editing would allow me to see who is editing what script and what they’re trying to do so that I do not end up duplicating their work and wasting valuable time that can be used to make other new features.

Sorry for the long read, I realized that I probably put a little too much in this suggestion. Please let me know if you have anything you want to clarify or if there is anything you want to add on. :slight_smile:

Edit #1:
I’m going to add a tl;dr since I realized how these large paragraphs can be hard to read through:

TL;DR
Roblox should consider adding in realtime editing in place of the new Collaborative Editing feature because of the following reasons:

  1. It can take great amounts of time to see the edits that developers post under the Collaborative Editing and the old Team Create script editing system, time that could be used in the realtime editing system as time to look over the scripts as it is being typed to ensure that there are no bugs.
  2. Conflicts are unheard of in realtime editing, they can be resolved instantly between developers no matter what form of communication they use (comments in the script, Discord, etc.). This can also help developers save time as they can resolve conflicts much quicker and easier.
  3. When working with other developers that you don’t know, communication about what bugs/features you are working on may not be instant. More than one developer could be working on the same bug/feature, wasting valuable time that developers can spend elsewhere.
22 Likes

Roblox should consider adding in realtime editing in place of the new Collaborative Editing feature

Here’s a staff reply from the Collaborative Editing announcement that rationalizes against the usefulness of a feature like this.

IMO drafts is the correct solution to this problem.
Your use-cases stem from communication and organizational problems.

10 Likes

None of your listed benefits of realtime editing are actual benefits – they’re just bandaid fixes to other issues you’re having.

The main issue seems to be communication, which is something you should solve yourself and not ask Roblox to deal with. The underlying issues are poor linting and communication capabilities of Studio, both of which are things Roblox are working on actively. If you have any specific issues with Team Create’s chat, you should report them or ask for a feature to solve the problem. The solution shouldn’t be to use scripts as a bulletin board chat.

Incidentally, if you’re running into issues with multiple people working on the same thing on GitHub, you might consider assigning people to issues instead of just winging it. That’s the intention of the feature, after all. Or if you don’t use GitHub, you could ask for Roblox to add the feature – or even just make a plugin for it yourself.

2 Likes

I see now. Thank you for both of your replies. :slight_smile:

2 Likes

Hello! I was just making a post about this yesterday and was directed here.

I’d like to give my support for this as well as giving my reasoning for wanting this since our opinions differ in that area.

In order to teach others how my code works as well as allow them to run it I’ve been using Discord screenshare and copy pasting the code which is not the best.

To sum up my reasons as well as add some new ones:

  1. Screensharing is resource intensive and low quality
  2. My aspect ratio is almost 1:1 so on most screens my own screen is shrunk down so much it looks ridiculous and its hard to read.
  3. Copy and pasting segments of my code is slow when it could be as simple as clicking play
  4. I can demonstrate in real time how my code works and allow my collaborators to make edits along with me. It lets them see what I’m doing and it lets me see what they’re doing while they are able to run my code.
  5. Reviewing diffs can be slow as well whereas being able to type up code in real time with each other would be instant. When paired with automatic diffs or some kind of diff saving feature this leads to some really good results such as being able to look back on the changes your team members made.
  6. Live events can be hosted in studio among small groups of developers (e.g. collaborative challenges) to make things more fun as well as bond a bit.
5 Likes

In theory, I could write a plugin for this.

I’ve already written a fully functional IDE, so I’d need to write a little extra module to render extra cursors and selections.

I need to figure out replication though…

4 Likes

As a Roblox developer, it is currently too hard to demonstrate and share code examples in real time with other users. When I first saw the collaborative scripting announcement I was excited to get some kind of Google docs style code editing. Not to say that the update isn’t great! I absolutely love it despite it not being what I thought and its brought in plenty of useful features.

If Roblox is able to address this issue, it would improve my game / my development experience because I would no longer have to rely on my computer’s resources and internet to share code in real time with users.

Sometimes I like to demonstrate and explain my code to other users as well as people I work with. I usually do this over platforms such as Discord so I can screenshare but this takes a lot of resources to do this and leads to low quality video as well as differences in aspect ratio (my monitor’s aspect ratio is almost 1:1 so screen sharing looks ridiculous on pretty much any other screen since the entire thing gets scaled down)

If I could share my code in real time in studio and allow users to execute my code as I type it this would greatly increase my ability to teach people how to use my own code as well as Roblox code in general and would even allow me to teach larger audiences if I, or others wanted to.

Let me know if you have any thoughts on this! I would really enjoy something like this but I’m not sure how many others might.

8 Likes

If roblox were to introduce real-time collaborative script editing, it would prove incredibly useful when scripting with another developer or a team. Currently, if I’m trying to go over a piece of code with a partner, I have to constantly keep committing changes to the script in order for the other to see, which is time consuming and really interrupts the coding process if you are having to do this every few seconds. If Roblox is able to fix this issue, it would greatly improve my development experience because I would be able to maintain a collaborative workflow when scripting with another developer.

Along with this, real-time collaborative script editing would be extremely useful for educational purposes. Often I am found being forced to use third party apps such as Discord to share my screen with people that I am teaching how to code on Roblox Studio. Rather than them being able to follow along easily in the Roblox Studio environment, it’s pretty hard for the people I am teaching to interact with what I am showing them. If roblox were to implement this, people I am teaching how to code would be able to see directly into the script through studio, make changes where I tell them to do so, and be able to easily highlight and show specific areas where they might be confused or need help.

Roblox Studio has already transformed itself into a collaborative workspace since the introduction of Team Create. You can already actively work on multiple projects within studio in real-time with the rest of your team. Multiple developers can work on the same build at the same time, or one could be teaching the other how to build for the first time while being able to provide an active learning environment. If this were to be introduced with scripting, just think of all the amazing creations developers would be able to create in a real-time collaborative scripting environment.

3 Likes

Hey! codeshare.io is a good site! For exactly this! Real-time scripting! It is very popular! And helpful! It can be a alternative! In the meantime!

1 Like

It’s finally here!

I haven’t been able to find an announcement about it, but if you enable Workspace.EditorLiveScripting you are able to collaborate live on scripts with other people in Roblox Studio!

Here’s an image of what it looks like when someone else is typing in a script:

:partying_face:

Edit:
They just posted an announcement about it, here’s the link:

9 Likes