Jump to content

SECTR Window crashing


Thomas123
Go to solution Solved by Peter,

Recommended Posts

Meanwhile I upgraded to Unity 2022.3 LTS and now I get the following error. I think it was working when the migration was done. What causes this error and how do I solve it? I use SECTR 2019 Complete 2019.0.6 from the asset store.

  • Navigate to Windows / Procedural World / SECTR / 
  • Open any of the windows (Audio, Terrain, Stream) 

and I get the following error.

Bildschirmfoto-2023-06-10-um-18-55-13.pn

Edited by Thomas123
added version
Link to comment
Share on other sites

  • 2 weeks later...

Hi @Thomas123 we reviewed this, and we initially thought this could be an issue with the newer 2022.3 release of unity, however we were not able to reproduce this behaviour in an empty project in 2022.3 with SECTR in it. The error messages seem to indicate that the unity editor has an issue with rendering those windows, but it is unclear why.
Could you please try if the same error occurs to you when you import sectr into an empty project? This would give us information whether the error is bound to that specific project only and would give some basis of comparison between the two projects.

Link to comment
Share on other sites

I am getting this also after updating to 2022.3.3.

GUI Error: Invalid GUILayout state in SECTR_TerrainWindow view. Verify that all layout Begin/End calls match
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
ArgumentException: Getting control 2's position in a group with only 2 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at <5764d612bf444d968e5065c4824f6c65>:0)
UnityEngine.GUILayoutUtility.DoGetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <5764d612bf444d968e5065c4824f6c65>:0)
UnityEngine.GUILayoutUtility.GetRect (System.Single minWidth, System.Single maxWidth, System.Single minHeight, System.Single maxHeight, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <5764d612bf444d968e5065c4824f6c65>:0)
UnityEditor.EditorGUILayout.GetControlRect (System.Boolean hasLabel, System.Single height, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <0cbf2453ffe348b8bff59f7f22a27d4b>:0)
UnityEditor.EditorGUILayout.TextField (System.String text, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at <0cbf2453ffe348b8bff59f7f22a27d4b>:0)
SECTR_Window.DrawHeader (UnityEngine.GUIContent title, System.String& searchString, System.Single searchWidth, System.Boolean center) (at Assets/Procedural Worlds/SECTR/Scripts/Editor/Core/SECTR_Window.cs:114)
SECTR_Window.DrawHeader (System.String title, System.String& searchString, System.Single searchWidth, System.Boolean center) (at Assets/Procedural Worlds/SECTR/Scripts/Editor/Core/SECTR_Window.cs:91)
SECTR_TerrainWindow.OnGUI () (at Assets/Procedural Worlds/SECTR/Scripts/Editor/Core/SECTR_TerrainWindow.cs:539)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at <0cbf2453ffe348b8bff59f7f22a27d4b>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at <0cbf2453ffe348b8bff59f7f22a27d4b>:0)
UnityEditor.DockArea.OldOnGUI () (at <0cbf2453ffe348b8bff59f7f22a27d4b>:0)
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 <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render () (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <c7b1c0e400a6432684f61df6ffb461d6>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <5764d612bf444d968e5065c4824f6c65>:0)

Link to comment
Share on other sites

14 hours ago, Peter said:

Hi @Thomas123 we reviewed this, and we initially thought this could be an issue with the newer 2022.3 release of unity, however we were not able to reproduce this behaviour in an empty project in 2022.3 with SECTR in it. The error messages seem to indicate that the unity editor has an issue with rendering those windows, but it is unclear why.
Could you please try if the same error occurs to you when you import sectr into an empty project? This would give us information whether the error is bound to that specific project only and would give some basis of comparison between the two projects.

I tried this in an empty project (2023.3, 3D URP Template, SECTR 2019 Complete) and it's reproducible for me. I use the silicon edition of Unity 2023.3.2f1 on a M1 Mac Studio Ultra.

Bildschirmfoto-2023-06-23-um-08-17-26.pn

 

---

At the moment I have removed SECTR because I can split the terrain with Gaia and this setup is much faster (3x). I may need SECTR again later when I introduce dungeons - I am still not sure though (is there a description somewhere when I want to use what? Can I use Gaia Portals for Dungeons as well?)

Link to comment
Share on other sites

I checked again with the latest LTS release 2022.3.3 and now I was able to reproduce the issue. The previous test was done with 2022.3.0 where it did not show the issue, so it seems to be oddly unity-version specific. I'm looking into this now and should soon know more.

Link to comment
Share on other sites

  • Solution

@Thomas123 @skinnylizardstudios I looked deeper into this and found the issue: Sectr uses certain unity styles to display search bars in the unity editor, e.g. like here in the terrain window:

image.png

For ages, the names for those unity styles had a typo in them:

ToolbarSeachTextField
ToolbarSeachCancelButton

it looks like somewhere between 2022.3.1 and 2022.3.3 Unity did now correct those names to:

ToolbarSearchTextField
ToolbarSearchCancelButton

This name change lead to the styles not being found anymore in the UI and therefore the entire window could not be rendered. We will release a SECTR Update shortly to fix this as this will affect all users, here is a patch in the meantime:

SECTRSearchBarHotfix.zip
 

You can install the included .unitypackage file via Assets > Import Package > Custom Package in the unity editor to apply the patch.

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Hello, the same issue happens to me on Unity 2021.3.31f.

It always happen when I close and re-open the project.

Reimporting the SECTR folder in the project window fixes the issue, but it is broken again when I close unity and open the project again. 

It is sort of a hassle, but still useful. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Tell a friend

    Love Canopy - Procedural Worlds? Tell a friend!
  • Need help?

    We work with some of the biggest brands in global gaming, automotive, technology, and government to create environments, games, simulations, and product launches for desktop, mobile, and VR.

    Our unique expertise and technology enable us to deliver solutions that look and run better at a fraction of the time and cost of a typical project.

    Check out some of our non-NDA work in the Gallery, and then Contact Us to accelerate your next project!

×
×
  • Create New...