Godot: Support for multiple screens (Split scenes / gdscript)

Created on 6 Jun 2017  路  17Comments  路  Source: godotengine/godot

Operating system or device - Godot version:
2.1.3

I have tried to search for this, but have not been able to find this issue (I do not see why it wouldn't already be an existing issue!)

What is preventing us from adding support for using multiple windows with different monitors?

Use case example:
I would like to be able to split up my Node and GDScript windows - or have multiple GDScripts up at the same time on each screen.

I really hope this have been posted previously, and I just couldn't figure out the search terms. :)

archived feature proposal editor

Most helpful comment

This would be a huge time saver. Currently, the workflow when dealing with instanced scenes (the very core feature of Godot), this becomes frustrating quickly:

  • Switch to scene A, change setting
  • Switch to scene B where scene A is instanced, verify the look of your changes
  • Switch back to scene A
  • Repeat ad nauseam

I really would love to ble able to edit two scenes in two windows, side-by-side, on different displays.
This would basically double my work speed on this.

This is even more painful with 3D. For 2D, you can mostly do because it's easier to reason about two dimensions and the context/environment doesn't have as much influence on how something looks.

For 3D, you absolutely need to see your scene in-context in the scenes it's going to be used in, as lighting and the environment has such a big influence on the final look.

All 17 comments

This is a really big task. the whole editor design is made with a single screen application in min.
Having script windows open is hard. Docks in a second window might work though. But there still need to be multi window support.
If it is executable it would be amazing though!!!
Because right now godot on multiple screens only makes sense when using vscode or atom as the text editor... But it also should work with just godot..

To have multiple scripts opened could be with a split script window too, no need to complicate things making new windows to render content (I wonder if this could be possible with scenes too).


Right now you can have separate running game with live script and scene sync which is a lot (and really useful), and the use of external editors may be more common on 3 with Native scripts.

And you could always open many Godot windows on the same project (just be sure to not work on the same files :upside_down_face: ).

The reason I am not running multiple instances of Godot:
There is a bug when running multiple Godot Engine instances with the same project.
After doing some work, save it - and close both windows, It ends up undoing all node changes (it does save gd scripts however).

Granted it has been a while since I tested this - perhaps it no longer is an issue.

I think issue #8250 is somehow related to this (at least partially), because If you can dock window freely, you can split editor to two or more arrangement. And aditionally as a reference, Visual Studio has a nice integration of both (docking and splitting). In VS, dragging out window without docking means splitting that to pop-uped window.

And as a extra use-case, It could be great If I can see script editor and internal help document viewer at same time.

@sftblw It is related, though not necessary for implementing that other issue in any way.

i would love to have support for this kind of thing, but i can't imagine it being easy to add.

This would be a huge time saver. Currently, the workflow when dealing with instanced scenes (the very core feature of Godot), this becomes frustrating quickly:

  • Switch to scene A, change setting
  • Switch to scene B where scene A is instanced, verify the look of your changes
  • Switch back to scene A
  • Repeat ad nauseam

I really would love to ble able to edit two scenes in two windows, side-by-side, on different displays.
This would basically double my work speed on this.

This is even more painful with 3D. For 2D, you can mostly do because it's easier to reason about two dimensions and the context/environment doesn't have as much influence on how something looks.

For 3D, you absolutely need to see your scene in-context in the scenes it's going to be used in, as lighting and the environment has such a big influence on the final look.

I have a project in mind where multiple screen support would be useful. A PnP rpg emulator where the dungeon master have the main screen on, let鈥檚 say, a laptop screen and an interactive map is displayed on a tv monitor for the players along with their stats, etc.

What about a separate application where you can get "a copy" of the output, debugger, inspector, ...
The original can then be hidden, like if you pressed CTRL+SKIFT+F11, and we can get some multi monitor support.

+1 for a split screen for the .gd editor so I can look and edit two parts of the same file. This is a standard feature in many editors. If it's already possible, I could not figure it out.

+1, It's difficult not being able to have the 3d viewport open on one monitor while I edit scripts in another. I can't see changes immediately and it's annoying to to have to keep switching tabs.

It would be nice to discuss what is required for this and potentially split into specific smaller bits of issues?

  • Add support for multiple windows (If there isn't already) for backends within the same 'Godot' context.

    • Create new render context on the fly for new window

    • Need communication of events to\from windows

    • Need ability to know if platform supports it (I.e Android, iOS won't support it)

  • Make Controls inside of TabContainers draggable into nothing.

    • Creating a new window via the multiple window support?

    • Adding a TabContainer inside that new window as the default node and the control under that

    • Parse events from the same godot context

  • Change 2d\3d\script\asset lib to be in a tab container like inspectornode

I also need to have the option to split windows in multiple monitors. Such a handy feature.

It would be nice to discuss what is required for this and potentially split into specific smaller bits of issues?

  • Add support for multiple windows (If there isn't already) for backends within the same 'Godot' context.

    • Create new render context on the fly for new window
    • Need communication of events to\from windows
    • Need ability to know if platform supports it (I.e Android, iOS won't support it)
  • Make Controls inside of TabContainers draggable into nothing.

    • Creating a new window via the multiple window support?
    • Adding a TabContainer inside that new window as the default node and the control under that
    • Parse events from the same godot context
  • Change 2d\3d\script\asset lib to be in a tab container like inspectornode

Blender can be a good example of how this feature shoul work. There you can create/destroy windows as you wish. You can split and arrange the interface freely to best suit your needs and save the changes as presets that can be even shared using .blend files

does not have to be multiple screen support since that I imagine would be prohibitively large task to undertake

would settle down for split view in script editor

Script Editor quality-of-life improvements and multiple screen support are very different problems tho, I don't see how they relate even if only changing the Script Editor is easier effort-wise.

One of the problems I see with splitting windows is refreshing a Scene View when a change occurs in another screen in an interdependent scene (e.g. a child node). Recently I had problems in Godot when working together in a team at the same time using git; even when changing different scenes, the safest way to merge changes in the project would be to quit the project, commit / merge, than reload the project, so any change would take effect and the editor would not override anything, as it doesn't look like it refreshes script / scene changes when those are done outside the editor itself.

I'll close this in favor of https://github.com/godotengine/godot-proposals/issues/28, as feature proposals are now tracked on the Godot Proposals repository.

Was this page helpful?
0 / 5 - 0 ratings