Search Unity

[released] Fullscreen Editor

Discussion in 'Assets and Asset Store' started by MukaSchultze, Apr 14, 2019.

  1. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    logo_dark.png
    Fullscreen Editor is the ultimate solution for working in fullscreen within Unity

    Asset Store Page

    Features:
    • Plug 'n' play, it works out of the box
    • Better performance since version 2.1.0, no more framerate drops!
    • Multi-screen support, use as many monitors as you want
    • Fullscreen on play, because maximize on play is a waste of space
    • Configurable to best fit your needs
    • Nonintrusive
    • Fullscreen for any window, even the whole editor
    • Keep the state, don't lose changes made on the fullscreened window
    • Clean code
    show_off_00.png show_off_01.png

    Supports all Unity versions since 5.6.
    Source code included!


    Asset Store Page
     
    cecarlsen likes this.
  2. Singtaa

    Singtaa

    Joined:
    Dec 14, 2010
    Posts:
    492
    Unity 2019.3 removed the
    UnityEditor.GameView.GetMainGameView
    internal api. You'll need to make some changes to your code. The following works for me for the time-being.

    Code (CSharp):
    1. public static EditorWindow GetMainGameView() {
    2.     var views = Types.GameView.GetFieldValue<object>("s_GameViews") as IList;
    3.     if (views.Count > 0)
    4.         return (EditorWindow)views[0];
    5.     return null;
    6. }
    Good asset btw!
     
  3. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Thanks for the feedback, that'll be fixed soon
     
    Last edited: Jul 16, 2019
  4. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    The issue has been addressed @2.1.1
     
    Singtaa likes this.
  5. piotrlipert

    piotrlipert

    Joined:
    Jun 23, 2015
    Posts:
    4
    On 2019.3.0b4 i get:


    Code (CSharp):
    1. MissingMethodException: UnityEditor.PreviewEditorWindow.GetMainPreviewWindow Due to: Attempted to access a missing member.
    2. FullscreenEditor.ReflectionUtility.FindMethod (System.Type type, System.String methodName, System.Type[] args, System.Boolean throwNotFound) (at Assets/Fullscreen/Editor/ReflectionUtility.cs:68)
    3. FullscreenEditor.ReflectionUtility.FindMethod (System.Type type, System.String methodName, System.Type[] args, System.Boolean throwNotFound) (at Assets/Fullscreen/Editor/ReflectionUtility.cs:60)
    4. FullscreenEditor.ReflectionUtility.InvokeMethod[T] (System.Type type, System.String methodName, System.Object[] args) (at Assets/Fullscreen/Editor/ReflectionUtility.cs:98)
    5. FullscreenEditor.FullscreenUtility.GetMainGameView () (at Assets/Fullscreen/Editor/FullscreenUtility.cs:256)
    6. FullscreenEditor.MenuItems.GVMenuItem () (at Assets/Fullscreen/Editor/MenuItems.cs:43)
    7. UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()
    8.  
     
  6. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Hi, are you using the latest version of the plugin? This issue has been addressed in version 2.1.1.

    EDIT: They changed it on the transition from beta to alpha, I'll be fixing it again soon
     
    Last edited: Sep 26, 2019
  7. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    It's fixed on Fullscreen Editor 2.1.2, the update should be available shortly on the asset store.
    Thanks for the feedback :)
     
  8. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    The toolbar always returns when pressing fullscreen, even when in the preferences is hidden.
    Seems like a boolean flipping one time too many
     
  9. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Hi Lars, can you please provide your Unity version and the steps to reproduce this? I just tested the toolbar hiding in the latest alpha (2020.1.0a11) and it's working fine.
     
  10. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    2018.4.12. on osx mojave

    just go fullscreen ( and the toolbar will show )

    then from the menu I can say hide toolbar and it hides it
    then I go out of play mode and enter it again and the toolbar is back
     
    MukaSchultze likes this.
  11. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    I just also tested In 2020.1.0a11 it's working fine, but not in 2018.4.12 ( osx mojave )

     
    Last edited: Nov 7, 2019
    MukaSchultze likes this.
  12. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    I was able to reproduce and I'm looking into it, thanks for the report.
     
    Lars-Steenhoff likes this.
  13. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    107
    The new update sounds amazing!
    Does this update: "Added new option to keep utility windows in front of fullscreen editor windows." means assets like Peek are supported? The fix you gave me is great but still not perfect. Maybe with this update will solve all the remaining issues.

    Thanks!
     
    Last edited: Jan 16, 2020
  14. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    The new option is the same from the fix I sent to you, I've found it to be useful in other situations too.

    What other errors have you found while working with Peek?
     
  15. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    107
    They're are not terrible, so didn't want to bother you, but this is the right situation to tell this now

    1.png 2.png Ship1.png Ship2.png

    In those screenshots some boxes are spawned below other ones while using Fullscreen Editor. They are instanced fine without FE.
     
  16. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Lars-Steenhoff and Ignacii like this.
  17. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    107
    Very, very nice.
     
  18. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    Hello.

    I want the main view to always be at fullscreen.
    Then I press f9 - f11 it fullscreens appropriate window and then I go back the main view always become in no fullscreen mode even if it was in fullscreen mode before. ( that is pointless, I do not want to turn the main view to fullscreen again after each switch).
    Your package should remember the fullscreen state of the main window and restore it back after switching the fullscreen mode of other windows. (possibly add the option to Keep main view in fullscreen).

    Is there a way to keep main window fullscreen? Or is this planned?

    I was able to keep the main view in fullscreen mode by adding below line into the end of each menu command in code

    if(!Fullscreen.GetFullscreenFromView(focusedView)) Fullscreen.MakeFullscreen(FullscreenUtility.GetMainView());


    However it has flaws.
    Then I make fullscreen any other window(from fullscreened main view) it firstly make main window into no fullscreen mode for 0.3 seconds and than goes to fullscreen mode. Same happens after making any fullscreen window into no fullscreen mode.
    Main menu and unity window's title bar whose have a bright white color is flickering during each switch. It is hurting eyes and is vary distracting and ugly and hence discorouge switching.
    Also focused window removes focus and you can no longer constantly switch with F9 without clicking on window.

    Suggestions.
    Add option to hide bottom status bar.
    Make so than you move your mouse close to screen's top the main menu bar apper (in fullscrren mode of main view)( how it is made in Rider fullscreen mode). Same could be made for scene view toolbar.

     
    Last edited: Apr 16, 2020
  19. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Yes, it's meant to be that way, it becomes quite confusing keeping a fullscreen on top of another when you need to close them.
    My advice is to just press the key to create a new fullscreen, for example, if you're on the Main View Fullscreen and changed to game view using F10, you can just go back by pressing F12.
    Try that, if it doesn't work for you I can change the coded so it doesn't close other fullscreen windows when opening new ones.

    I noticed this on newer versions of Unity, I've managed to get around this bug by adding a delay when changing the fullscreen. Just change the if statement by the one below on lines 136 and 155 on Fullscreen/Editor/Fullscreen.cs:
    Code (CSharp):
    1. After.Milliseconds(500d, () => {
    2.     if (fullscreen)
    3.         fullscreen.Close();
    4. });
    This indeed seems to be a problem, I'll look into it.

    And I'll take the two suggestions into account, they're definitely good features.
    Thanks for the feedback!
     
  20. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    TextusGames said:
    1.
    Also focused window removes focus and you can no longer constantly switch with F9 without clicking on window.
    Just to be clear the losing focus on F9 is hapening only after my modifications. By default it is working as expected. (so you do not need to inverstigate here).


    2.
    This fixes title bar menu flashing for F10- F11 only. Once you press F12 flashing still happens. So this does not solve flashing problem.

    3.
    Pressing F12 is not solving my problem because:
    It is confusing to use.
    If I press it twice it leads to no fullscreen.
    Sometimes I want to close window with the button I pressed before and it will still lead to no fullscreen.
    Pressing F12 still provides tilte and menu flashing (even with code modifications your suggested).

    You do not need to keep all opened windows fullscreen. But the main editor window should be always fullscreen once it is set fullscreen. No other menu manipulation should lead to resetting the fullscreen state of the main window. Overwise it is pointless. It is my main window I do not want to manually maintain the fullscreen state of it ( because every switch accidentally resets the state).
    If you keep main window fullscreen there will be no title bar and main menu bright flashing problem automatically ( becouse it is allready fullscreen).

    So you need to ensure that if main window is set fullscreen nothing else can change it. Please do it.

    5.
    Is there a reason that there is now shortcat to close any fullscreen window (Except main editor window!) (Prefereably ESC)?
    Than I first opened some window in fullscreen I spend some time to close it. I intuitevely pressed ESC 10 times:).
    Edited. I found close all fullscreen shourtcut but it also closes main window fullscreen. Main windows fullscreen should be untuchable! :)

    6. F8 should also show/hide main menu in main window fullscreen mode as it shows other window's toolbars, at least for consistancy.
    However, I strongly suggest to add setting's option that changes toolbar/main menu behavior.
    First is to switch visibility of toolbar/main menu by pressing F8.
    Second is to show toolbar/menu(or both) only if user's mouse is in the top of the screen(this should be drawn on top of current window without changing layout) ( you can even show both toolbar and main menu in that case because it is only shown than the user wants it and is immidetly hidden and not cluttering screen space after. Because sometimes it is useful to access menu from other windows) ( and you can add both main menu and main toolbar in main editor window, imagine how much space it will save... It will also be a consistent behaviour )

    Example how it is done in Rider.
    2f5ca6c5-9f00-4695-be81-1cfde068a323.gif

    It would be awesome if such option will be in unity .
     
    Last edited: Apr 18, 2020
  21. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    Nice package by the way. Working with shader graph is much easy on small screens. Thanks.
     
  22. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    About status bar. Do not bother. Unity now puts more and more useful information in it and this bar will be mandatory. So do not waste time to hide it.
     
  23. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    I think I found the best solution to achieve what you're looking for here, you'll need to change the method GetFullscreenOnRect, add the
    .Where
    clause on line 55 (same file, Fullscreen/Editor/Fullscreen.cs), as shown below:
    Code (CSharp):
    1. return GetAllFullscreen()
    2.     .Where(fs => !fs.ActualViewPyramid.View.IsOfType(Types.MainView))
    3.     .FirstOrDefault(fullscreen => fullscreen.Rect.Overlaps(rect));
    This will basically ignore the main view when searching for fullscreens to close, the only way to close the main view fullscreen will be by using the F12.

    Most users use the fullscreen to test their games in full resolution, and most games use ESC to open menus and/or pause, which would cause the fullscreen to exit when trying to open in-game menus. And as far as I remember Unity doesn't allow shortcuts that use the ESC key.

    That being said, you can use the "Close all" shortcut and apply the same modification as above:
    Code (CSharp):
    1. [MenuItem(Shortcut.CLOSE_ALL_FULLSCREEN, false, 250)]
    2. private static void CloseAll() {
    3.     foreach (var fs in Fullscreen
    4.             .GetAllFullscreen()
    5.             .Where(fs => !fs.ActualViewPyramid.View.IsOfType(Types.MainView)))
    6.         fs.Close();
    7. }
    I did that modification once, but it was quite buggy so I removed it :(

    This is quite challenging, but I'll try.

    Consider leaving a review on the store page, this helps me a lot, thanks! :)
     
    Fibonaccov and TextusGames like this.
  24. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    Reviwed.)
    I hope you will integrate a mainwindow fullscreen fix in package by default or as an option.
     
  25. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    I'll probably integrate it as an option, let me know if you come across any bugs with this fix.
    Thanks for the review.
     
    TextusGames likes this.
  26. TextusGames

    TextusGames

    Joined:
    Dec 8, 2016
    Posts:
    429
    If there will be any Issues. I will report them.
     
  27. Romano

    Romano

    Joined:
    Nov 27, 2013
    Posts:
    76
    Hey there, I sent this question as an email before I saw there was a support forum, sorry. I've just bought the asset and instantly got this strange visual bug. I'm using 2019.3.11 on Windows. The text persists over the window and over every other application I have running and the desktop. Unloading unity does nothing but I can get rid of the artifact by changing my resolution and changing it back again. The same bug happened again next time I loaded Unity and tried it again. Is this a known bug?

    Thanks!

    upload_2020-4-27_9-15-50.png

    upload_2020-4-27_9-16-19.png
     
  28. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    I've never seen that in Unity, does it occur to other menus as well or only this one? Can you test this on another Unity version?

    I'm downloading Unity 2019.3.11 to try and reproduce it, can you give me steps on how to achieve this strangely bug?

    Also, I can give you support by email if you prefer, I've received your message there.

    EDIT: I just finished downloading Unity 2019.3.11 and couldn't reproduce on this version either.
     
    Last edited: Apr 27, 2020
  29. Romano

    Romano

    Joined:
    Nov 27, 2013
    Posts:
    76
    Hi, sorry for the trouble. I just tested this in another version of unity and without Fullscreen Editor in the project and had the same problem with the Package Manager menu text lingering. It seems like the issue is between Unity and my PC and it was just coincidence that it happened for the first time after I imported Fullscreen Editor. The asset is great so far, I'll be sure to give it a good review :)
     
    MukaSchultze likes this.
  30. P3ndragonLLC

    P3ndragonLLC

    Joined:
    Sep 19, 2019
    Posts:
    99
    Hello, is it possible to use my second screen as the full screen view?
     
  31. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Yes it is, except on macOS and Linux. There are multiple settings for multi-display setups
     
  32. Romano

    Romano

    Joined:
    Nov 27, 2013
    Posts:
    76
    Hiya, I've been using FullScreen Editor for a couple of weeks now, and I haven't been able to figure out why I keep getting these fatal errors. Basically when going into play mode when Fullscreen on Play is ticked, unity crashes and shuts down after showing an error window (pic attached). Annoyingly this problem is intermittent, so sometimes it works fine. I haven't ever seen this error before installing Fullscreen Editor, so I'm not sure what else it could be. I'm using Unity 2019.3.11 on Windows.

    Thanks!
     

    Attached Files:

  33. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Hi, that's no good :eek:

    Try disabling the "Disable Scene View Rendering" in the preferences menu. Let me know if it fixes the problem.

    upload_2020-5-13_15-49-8.png

    Thanks for the feedback.
     
  34. Romano

    Romano

    Joined:
    Nov 27, 2013
    Posts:
    76
    I'll give this a go and let you know if the problem happens again. Thanks!
     
  35. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Is there a way to hide the bottom status bar, its really bugs me that it stays in view
     
  36. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Not yet, all my attempts to do it so far have failed. Enabling the toolbar hides the bottom bar, but it adds another one at the top.
     
    Lars-Steenhoff likes this.
  37. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Just when I was happy with unity because of your plugin, unity decides to break itself again. I think it happened around 2019.3.3. or sometime there.

    In 2019.3.2f1 the plugin works fine ( I still use that version )

    Maybe there is something to be found in this commit?
    https://github.com/Unity-Technologi...mmit/02d565cf3dd0f6b15069ba976064c75dc2705b08

    Editor/Mono/GUI/EditorApplicationLayout.cs
    I think in this file some things changed

    for example m_PreviewWindow became m_PlayModeView
     
  38. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Maybe, my guess is that they changed something in the C++ part of the engine. The method I'm using to hide the toolbar is now moving the native window, this does not happen on Windows OS though.
     
  39. Fibonaccov

    Fibonaccov

    Joined:
    May 5, 2020
    Posts:
    58
    Thank you for making this asset! I use it all the time, especially for editing in scene view.

    Before I go dive in the source code, I wanted to know where you think I could force add the bar where the move, rotate, scale, pivot tools are to appear on a full screen scene view? F8 toggle only shows the scene toolbar which makes sense but am looking for the tool bar that shows when in play view.

    Do you think it would be possible to have a shortcut to toggle inspector window on top of a full screen scene view back and forth? This would be very convenient. Same for hierarchy.

    Best.
     
    Last edited: Jul 23, 2020
  40. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Seems like unity changed something again in the mac version 2019.4.5f1.
    The bottom status bar is back and the performance at full screen it stuttering..
     
  41. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    This toolbar, right?
    upload_2020-7-23_13-23-24.png
    This is drawn by a class called
    UnityEditor.UnityMainToolbar
    , maybe calling the
    OnGUI
    method from the Scene View GUI will do it, but I can't guarantee it'll work. I'll try this later.

    This is possible, I've seen how Visual Studio does it, and it's pretty useful.
     
    Fibonaccov and Lars-Steenhoff like this.
  42. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Exactly the same issue as before? No errors in the console?
     
  43. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Yes same as before, no errors, Its strange because I used the latest version from the asset store.
     
  44. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    I haven't updated the store version with that fix I've sent to you yet. My bad.
     
    Lars-Steenhoff likes this.
  45. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Ah I assumed it was in there, that explains it. I will apply the fix
     
  46. Fibonaccov

    Fibonaccov

    Joined:
    May 5, 2020
    Posts:
    58
    Yes, that's the toolbar I was mentioning. Cheers.
     
  47. AgileLens

    AgileLens

    Joined:
    Mar 5, 2019
    Posts:
    10
    Hey all, I just bought this asset because I'm trying to record a full screen version of my game using OBS. Unfortunately OBS doesn't see the full screen view of this-- it only shows the Unity Editor. Any suggestions?
     
  48. MukaSchultze

    MukaSchultze

    Joined:
    Feb 12, 2014
    Posts:
    256
    Fullscreen Editor works just fine with OBS. This is probably some misconfiguration on OBS, you'll need to select Display Capture so OBS is able to capture the entire screen, my bet is that you're using Window Capture.

    upload_2020-10-19_22-14-17.png

    Let me know if this fixes your problem.
     
  49. WILEz1975

    WILEz1975

    Joined:
    Mar 23, 2013
    Posts:
    375
    Screenshot_6.png Great tool!
    Advice: add Fullscreen Editor + Hierarchy and tools option.
     
    Fibonaccov likes this.
  50. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Did you try the tool called "peek"?
    that can show you just the hierachy