Editor Layout: Could Not Be Loaded ... EditorWindows Not Available

I googled around quite a lot, and this isn’t the common Editor Layout: Could Not Be Loaded error others seemed to have had (fixed by resetting/reimporting your project), this only gives you a Log note (not Error (Red) or Warning (Yellow)).

The full log warning is: UnityEngine.Debug.Log("The editor layout could not be fully loaded, this can happen when the layout contains EditorWindows not available in this project")

I have no idea why my custom editor is “not available in this project.”

  • It launches just fine, it closes just fine, there are no compile or other errors/warnings/logs. None whatsoever, everything works.
  • I can get the Log message to go away if, after receiving the Log message at Unity startup, I never open the custom editor, then restart Unity, I will no longer get the Log message… until of course I use the custom editor again.
  • I’m not leaving the custom editor open when I close, the error happens regardless of whether you open or close the custom editor before restarting Unity.
  • Interestingly, someone decompiled bits of Unity, so I can even see where the log warning is generated, but I’ll be damned if I can understand why, see link here at Line 693: https://github.com/MattRix/UnityDecompiled/blob/master/UnityEditor/UnityEditor/WindowLayout.cs
  • I sort of suspect looking at the decompiled code, that it’s not correctly destroying the custom EditorWindow, so I thought maybe I needed to Destroy or DestroyImmediate the custom editor window itself, but doing so causes an actual error that I’m essentially doing it twice (so Unity does seem to be properly deleting the instance of the window). I also tried nulling it out OnDisable, doesn’t work.

I’m fundamentally unsure of how Unity even goes about saving Layouts, and I couldn’t find anything in the documentation or by googling. Any help making this Log note go away would be greatly appreciated, I’ve exhausted my attempted to research and understand how the error comes about!

As I’m fond of doing, the answer to my own thread in case any other poor soul comes across this, this is pretty arcane to me, and I kind of feel like Unity should have just red flagged an incorrect instantiation of a class, but …

I was doing:

ViewPort viewPort = new ViewPort();

To create my custom editor’s viewport class, where my ViewPort class extends Unity’s EditorWindow class. Seemed pretty straightforward to me.

Unfortunately for me, Unity’s EditorWindow class is a ScriptableObject! So it allowed me to use the typical above “new Class()” way you’d normally do to create a new instance of a class, but it REALLY wanted me to use ScriptableObject’s form of instantiating like so:

ViewPort viewPort = (ViewPort)ScriptableObject.CreateInstance("ViewPort");

Derp but hey, only wasted a day, and to be fair, Unity’s docs do list EditorWindow class as extending ScriptableObject.

12 Likes

Hello
Please help me in debugging these errors. I am not able to enter into the play mode.
I dont know how these errors appeared all of a sudden out of no where.

@Punya1998 show the actual errors (red) instead of just the warnings (yellow)

I’ve written no code of my own that contains anything ‘viewport’ , so where is this error coming from ? I’m really enjoying using unity, but it seems its always got SOME error that crops up, unlike another engine I use,that NEVER has this issue to deal with, and being a solo dev atm, its really slowing me down.

Are there any ‘guidelines’ I’m unaware of ?
I already removed/updated , in package manager, any ‘preview’ packages, is this error a layover from having such packages

I also have 3dgamekit,its not beta faik, is it too also a suspect in this error ? When unity starts now, I do , everytime, get , in inspector : Explorer : 3d game kit ,has 3d game kit embedded itself so much into my project that is throwing this error ?

I abhor any errors of any kind, and I must fix them or I refuse to go forward - call it OCD or whatever you want, but I’m a stickler for working in a ‘clean’ ENV :wink:

ty

2 Likes

For others encountering a similar situation, my issue was the classic mistake of not having the custom EditorWindow class in a file of the same name.

16 Likes

Thanks, this solved my issue as well.

2 Likes

Thanks, this was my problem as well.

2 Likes

how do i do this solution

1 Like

Bunos Dias!!! me tira este error y no se donde ni como corregirlo, antes funcionaba de maravillas cuando le aplique el texturizado al terreno, luego no pude compilarlo mas…




mi diffuse coloque la imagen original, en normal map (el normal map de la imagen que corresponde) y en el Mask Map la oclusion ambiental (no se si es correcto eso)
Gracias!!!

Yes! This was bugging us for so long. Thank you!

1 Like

Thanks. Here the thing for those who don’t get this. In my case, I have changed the path of my standard asset pack so the engine give an error. Now I put the standard asset folder under the default asset folder

How do i solve it? New to unity, was making a fps game (I have experience with c#), I used nearly the same codes for creating a wall and floor, when i tested creating a floor there was no problem but when I tested creating a wall it gave this error and it is recurring. plz help. sry for bad eng.

I do not know if this is the same error. I am using a different assets, I have under Assets folder, but also i have others in different folders.
when I start the game CTRL+P it runs until a black screen or the cursor freezes, and then I can not go back to the Scene editor. I had the message in this post and I am Attaching a file with some crazy names that of course are not the original.

How can I address this porblem? Just changing all my assets to the folder inside Assets?

thank you

Clear the Gi cache the error should be gone
Go-to edit>>preferences

17 Likes

Thanks cnjoroge925!!

1 Like

it helped me a lot , thank you !

Maybe you have a buged animation or something like that ?

what ive learned was, never change any asset location in unity. it cause a lot of problem, not even change instalation folder.

this happen after unity tells me that standard asset is built for unity 2017, but still i install it to unity 2020. ill listen to unity next time…