We need a coding environment, not a coding window

I have been using Visual Studio Code + Rojo for the past few months, and it has been a decent experience. As a solo programmer however, I don’t find that I reap the benefits that a team would, so it makes more sense for me to just use Roblox Studio.

After wiping my computer recently and deciding not to setup Rojo again, here are my thoughts after returning to Roblox Studio:

For as long as I can remember, (I’ve been coding on Roblox since 2009) opening a script has always just opened up a window within the panes of Studio. It is about time we get a proper coding environment. I especially empathize with people who have small screens. It feels inappropriate that the thing you are focused on is only 1/4 the size of your screen. Sure, you can pop out the window, and sure, you can just press X on the other panes. But there are nuances to these things that make coding in Roblox Studio a lesser experience. I don’t need to see Toolbox, Asset Manager, and Terrain Editor when I am coding. But I would like them to be there when I close the script. Also, Explorer is great, but if I am coding, I would like to also be able to see a quick file-viewer of all my scripts, similar to VS Code. Explorer can sometimes have lots of nested instances that force you to either scroll around and try to find your script/instance, or have to search for the script/instance name specifically.

I hope this feedback will be strongly considered. I’ve definitely seen a lot of posts even from 6+ years ago complaining about the struggles of using Studio on a small screen. I don’t have a small screen, but I think people have just got complacent with this because it’s how Roblox Studio has always been.

By the way, for the counter-argument that the coding area is large enough - I set my text size a little larger because I don’t have the best vision and small text strains my eyes. So when I am using 16pt font, I don’t see as many lines of code as other people, which makes it more tedious to code.

Also, please add an option for smooth typing and smooth scrolling. I miss this a lot from VSCode :slight_smile:

57 Likes

I don’t think this is a strong feature request. I’m not sure what exactly you’re even requesting other than “hide things I don’t want to see depending on context”, and some random scripting related mini-features that you don’t explain sufficiently by themselves.

You might want to make feature requests for your smaller scripting related requests, remove them from here and simply link to their threads, and fill this thread out a bit more specifically about what you’re actually asking for.

Personally, I think this is better implemented as hot-swappable custom Studio layouts instead, kind of like how Blender has different layouts for different tasks. E.g. A scripting layout and a building layout that you can save widget positioning to separately. To address your use case, you could have your scripting layout changed to contain minimal open widgets, and some plugins to help with programming / game hierarchy navigation.

7 Likes

Thanks for your criticism. I presented this feature request as more of a spark for greater ideas, but I agree that feature requests should be specific.

The amount of specificity in this context can be up for debate, however. The truth is, most users and consumers are good at identifying problems, not solutions, and it is usually up to the developer to find those solutions. I am not equipped to describe a fully elaborate coding environment, but I am capable of describing some key things that a coding environment should implement.

If you are regarding the specifics of my individual ideas, I will be happy to lay them out for you and anyone else who is confused:

  • Hide panels that are not relevant when a script is being edited (while still being accessible), and perhaps bring in other panels or buttons that are more relevant for scripting. (so yes, contextual-based Studio layouts, but it could also be something even greater that the Studio team might think of, so this is why I present my request as a coding environment, and not just different Studio layouts)
  • File viewer similar to VS Code. I thought I provided enough context clues to make this description understandable, but is is literally just an Explorer window that only contains your scripts, and perhaps their addresses so you know where they are. I just assumed anyone who has used VS Code would know what I was suggesting, but my bad for the assumption.
  • Smooth typing / smooth scrolling options. I don’t know how to explain this for you, so download VS Code and turn on those settings and see for yourself.

I hope this is a little more clear. The main objective is to enhance the coding experience of people with small screens, but also enhance the scripting environment for everyone. It has been the same way for over a decade, and it could definitely use some love. A lot of people are converting over to VS Code (or other editors) + Rojo, and I think Roblox has a lot of desire to evolve their platform so that people feel more comfortable developing in their own first-party ecosystem, instead of working in alternative software.

7 Likes

As a developer who has a small screen 92% of the time, I can vouch for how painful it is to develop in Studio. The two times it matters the most imo would be when I am importing assets and moving them in the actual viewport or when I am creating GUIs. When you move around meshes or parts in workspace, you can technically get away with not having any of the side panes open. However, when you get to properties that’s when the lack of space becomes an actual issue. To combat this, I usually change what I need in properties and then, remove it. If I have a lot of stuff to change that require the properties pane, it becomes frustrating.

The worst is GUIs. It’s very hard to create GUIs when your screen size is tiny and getting it to come out the way that you want is often-times a hail-marry. I’ve gotten decent enough over time to be able to guess the position and size that each element needs to be without any type of visual display but, most people probably wouldn’t feel comfortable doing that. I don’t really have a solution for that other than, removing every pane and scaling GUIs manually.

I think that the basis of the request can be solved if Roblox were to integrate Rojo or a system like it officially. The idea behind Rojo and the fact that I can use the same text-editor / environment that I’d usually use at work is much more power than what Roblox provides now. In addition, using git allows much better version control despite Roblox’s attempts to re-invent it via collaboration edits. A lot of the popular teams here use Rojo, git and anything other than Studio’s text-editor so, I think that integrating Rojo officially is the way to go.

I do have to admit that the panes are often-times distracting and on smaller screens it’s definitely worse. After switching to an external text-editor, roact and rojo, I rarely stumble across these issues anymore since by the time I press play, most of the panes in studio aren’t used or needed for my own workflow. I can see this being more of an issue for modelers and builders with small screens rather than programmers imo.

3 Likes

Very valid points and concerns. As a UI designer myself, I can definitely empathize with the difficulties of UI design on a small screen.

3 Likes