Unity3D 2019.4.13f1 in Linux: No other build support than Linux, despite having installed them

Hi dear community.

I am running Unity3D 2019.4.13f1 on Linux (Ubuntu).
Despite having installed all build supports for my target platforms (Windows, Linux and Mac), as well as having reinstalled the Editor several times now AND despite starting the editor from the Hub with Windows as my target platform, I only get Linux as single build option for target platform. I am at my wits end here.


Edit: I realized that I get an error code when compiling the scripts for a new build environment. Could this be the reason I only see the Linux Build Platform option?

I have never changed anything on the build files of Mono in this regard. And I have no idea if this error actually is prohibiting me from using other build platform settings but I pretty much guess so.

ArgumentException: Getting control 5's position in a group with only 5 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at /home/bokken/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:122)
UnityEngine.GUILayoutUtility.DoGetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:464)
UnityEngine.GUILayoutUtility.GetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:453)
UnityEditor.EditorGUILayout.GetToggleRect (System.Boolean hasLabel, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9710)
UnityEditor.EditorGUILayout.Toggle (UnityEngine.GUIContent label, System.Boolean value, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7811)
DesktopStandaloneBuildWindowExtension.ShowPlatformBuildOptions () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandaloneBuildWindowExtension.cs:186)
UnityEditor.BuildPlayerWindow.ShowBuildTargetSettings () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:698)

Additional Note: /home/bokken/ is not my home folder. Must be from the coder who wrote the Linux support. Not why the error message is referencing to those folders that do not exist on my system. It seems like the Linux support is still in its infancy.

Nobody any ideas?

Alright, will try Unity3D 2020.1.11f1 and see if that is of any help.
Maybe there is a problem with Unity, maybe with .Net, maybe with Mono or maybe Santa Clause but as a hobby Game Dev I do neither have the time nor the motivation to A: Change my OS or B: Investigate further into the inner workings of the Unity Editor in Linux.

Installed the current version of Mono for my Linux Distribution (Ubuntu 20.04).
No luck either.
Same damn error as stated in the inital post. I never even touched the damn GUI. I updated to latest Mono, now I have no more ideas what else to do here. I guess the only way is to run a VM with Windows, install Unity there, import my project and build it from there - wish I could invest the time I am wasting for a simple build for Windows into the making of the game.

1 Like

Unity doesn’t depend on system Mono.

Do you get the same error in Unity 2020.1.11f1? Can you try switching the editor to the default layout?

1 Like

Okay, I will try switching to the default Layout.
I tried running the project in 2020, but was drowned in error messages and gave up immediately. I will get back in a couple of minutes with an edit of this post concerning the Layout change. Thank you for your swift reply!

Weird thing is, I never really changed much concerning the Layout. Only switched to Wide screen preset.

Just now when restoring to factory, I got the error

Failed to destroy editor windows: #1
FallbackEditorWindow
UnityEditor.<>c:<ReloadWindowLayoutMenu>b__28_0() (at /home/bokken/buildslave/unity/build/Editor/Mono/GUI/WindowLayout.cs:224)

EDIT:

ArgumentException: Getting control 5's position in a group with only 5 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at /home/bokken/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:122)
UnityEngine.GUILayoutUtility.DoGetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:464)
UnityEngine.GUILayoutUtility.GetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:453)
UnityEditor.EditorGUILayout.GetToggleRect (System.Boolean hasLabel, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9710)
UnityEditor.EditorGUILayout.Toggle (UnityEngine.GUIContent label, System.Boolean value, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7811)
DesktopStandaloneBuildWindowExtension.ShowPlatformBuildOptions () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandaloneBuildWindowExtension.cs:186)
UnityEditor.BuildPlayerWindow.ShowBuildTargetSettings () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:698)
UnityEditor.BuildPlayerWindow.OnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:386)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[ ] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:381)
UnityEditor.HostView.Invoke (System.String methodName) (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:375)
UnityEditor.HostView.OldOnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:151)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:293)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:508)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:463)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Boolean straightY, System.Single pixelsPerPoint, System.Exception& immediateException) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:107)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.UIElements.PanelClearFlags clearFlags) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRChainBuilder.cs:392)
UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:68)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:57)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /home/bokken/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:84)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:721)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:747)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:387)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:194)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

Running Unity3D 2019 with target platform Windows in Ubuntu now returns the above error AFTER opening the Build Settings in the Editor.
Layout is Restored to Factory Settings and no initial Error after Start-up.
Only Build Setting for Target Platform within the Editor is Linux again.
Starting the Editor from the Hub with Linux as target platform returns no Errors.

After starting Unity with Windows as target platform, I get this initial notification in the console:

The editor layout could not be fully loaded, this can happen when the layout contains EditorWindows not available in this project
UnityEditor.WindowLayout:LoadDefaultWindowPreferences() (at /home/bokken/buildslave/unity/build/Editor/Mono/GUI/WindowLayout.cs:40)

Do these things happen only in your project, or does it also happen on your machine if you create a brand new project?

When creating a new project, saving it and then starting the project with target platform set for Windows in Unity Hub:

ArgumentException: Getting control 5's position in a group with only 5 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at /home/bokken/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:122)
UnityEngine.GUILayoutUtility.DoGetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:464)
UnityEngine.GUILayoutUtility.GetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:453)
UnityEditor.EditorGUILayout.GetToggleRect (System.Boolean hasLabel, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9710)
UnityEditor.EditorGUILayout.Toggle (UnityEngine.GUIContent label, System.Boolean value, UnityEngine.GUILayoutOption[ ] options) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7811)
DesktopStandaloneBuildWindowExtension.ShowPlatformBuildOptions () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandaloneBuildWindowExtension.cs:186)
UnityEditor.BuildPlayerWindow.ShowBuildTargetSettings () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:698)
UnityEditor.BuildPlayerWindow.OnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:386)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[ ] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:381)
UnityEditor.HostView.Invoke (System.String methodName) (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:375)
UnityEditor.HostView.OldOnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:151)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:293)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:508)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:463)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Boolean straightY, System.Single pixelsPerPoint, System.Exception& immediateException) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:107)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.UIElements.PanelClearFlags clearFlags) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRChainBuilder.cs:392)
UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:68)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:57)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /home/bokken/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:84)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:721)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:747)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:387)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:194)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

So basically the same for new projects as well as my project.
Layout of Editor still set to Factory Settings. The install of the editor is new as well.

And who is that “bokken” from “/home/bokken/buildslave/unity/build/Modules/…”?
My user name is completely different. How can Unity even find those files? Is that folder hirarchy compressed in some file in the unity editors folder? I searched for these UIElement files but couldn’t find them.

The “bokken” path is from the computer where the Unity Editor for Linux was compiled. Not your computer.

I have the same issue here. Following!

I am running 2019. I tried the 2020 version. It happens on existing projects and new projects. I am also having an issue with black screens after 5 minutes. OS- Ubuntu

@Tautvydas-Zilys
Any ideas concerning the GUI error messages I get and how they could prohibit me from building for any other platform than Linux? I have no bloody idea how the Editors Gui and the building options are even connected in a way that only Linux would be available, it just doesnt make any sense.

Still asking around what this could mean. I’ve not seen errors like these before.

1 Like

Could you by any chance go to the directory Unity is installed, and list all the files under /Data/PlaybackEngines?

1 Like

No idea why, but the MacStandaloneSupport and WindowsStandaloneSupport folders are empty.
6488987--729419--upload_2020-11-4_13-21-41.png

Damn, that looks like they weren’t installed correctly. Can you show me what the hub “Installs” tab looks like as well as its “Add components” dialog?

1 Like


Whelp, that sounds like a nasty bug in the hub.

As a temporary workaround, can you download those components from here:

http://beta.unity3d.com/download/518737b1de84/MacEditorTargetInstaller/UnitySetup-Mac-Mono-Support-for-Editor-2019.4.13f1.pkg
http://beta.unity3d.com/download/518737b1de84/MacEditorTargetInstaller/UnitySetup-Windows-Mono-Support-for-Editor-2019.4.13f1.pkg

And install them manually? Those folder should no longer be empty afterwards.

Alright, but how do I install pkg files? When opening them, it opens them as archive. Should I extract them somewhere specific?