Simplified (50 lines of code) implementation of the Editor Coroutines from Unity. Use it if you need some compact solution and / or do not want to handle this kind of issues.
To skip a frame use standard:
yield return 0;
yield return null;
To wait for seconds use:
yield return 2f; // this will wait for 2 seconds
There is no support for WaitOperation etc. There is no support for nested coroutines.
But it covers most cases of what is usually needed in Editor.
Start Coroutine that way:
PocketEditorCoroutine.Start(enumerator);
or that way
PocketEditorCoroutine.Start(enumerator, this); // where 'this' might be EditorWindow which is used to detect when to stop the coroutine upon shutdown
you can also later stop coroutine by calling
coroutine.Stop();
You can just copy-paste PocketEditorCoroutine.cs to your project in any Editor folder.
Feel free to report bugs, request new features or to contribute to this project!
To find unreferenced assets in Unity project see Dependencies-Hunter.
To find missing or empty references in your assets see Missing-References-Hunter.
To analyze your textures and atlases see Textures-Hunter.