Crash In Unity2017.1 GeneratedOdinEditors.dll Asset Import

Issue #127 resolved
Shane Padgett
created an issue

On many occasions, when Unity does a recompile of scripts and Odin tried to regenerate the "GeneratedOdinEditors.dll", unity will just crash. When you open Unity back up, you get the following message.

A default asset was created for 'Assets/Plugins/Sirenix/Assemblies/Editor/GeneratedOdinEditors.dll.mdb' because the asset importer crashed on it last time.
You can select the asset and use the 'Assets -> Reimport' menu command to try importing it again, or you can replace the asset and it will auto import again.

Using: Unity 2017.1.0f1 - I have Unity set to use .Net 4.6 if that could be part of the issue. Odin 1.0.3.0 Windows 10

Comments (15)

  1. Tor Esa Vestergaard

    Oh dear - that's a nasty one. Unity's new scripting backend has proven rather unstable in a lot of ways. Odin merely generates a few source code .cs files and tells Unity's own compiler to go compile those into a .dll and then import that into the project, so this error is likely to lie with Unity itself. It is, however, possible that there is something we can do to mitigate it. It may prove tricky to replicate, though - I know we have other customers running on 2017.1 with .NET 4.6 enabled, and which do not seem to have encountered this issue yet. I'm currently downloading version 2017.1.0f1 of the beta, and will try to replicate it myself. I'll let you know how that goes.

  2. Shane Padgett reporter

    One of the easiest ways I've been able to reproduce this is doing the following.

    • Set Unity to use .Net 4.6
    • Import Odin 1.0.3.0
    • Make some scripts that use Odin features that would cause the generation to happen.
    • Export the whole project as a .unitypackage, make sure to include Odin in the package export.
    • Create another new project and set it to use .Net 4.6
    • Import the package you exported. A good portion of timed when I do this step, Unity will crash.
  3. Tor Esa Vestergaard

    Following your steps reliably seems to reproduce the problem, though I could provoke it no other way - how on earth did you come up with that? :D

    Thanks a lot, though, because you've made my job a whole lot easier, figuring out the steps to reproduce. I have reported this error to Unity, with an attached crashing .unitypackage as well as the full instruction set for how to reproduce it. This is definitely not a bug we can do something about from Odin's end. I'll keep you updated in here as the people at Unity respond.

  4. Shane Padgett reporter

    It appears I have found a second way of reliably causing this to happen. An even simpler example. Note that this example only works with the InControl asset. I have dragged several other assets to the Plugins folder with no issue, but once I drag InControl there, Unity crashes when Odin tries to regenerate.

    • Create Unity2017.1.0f1 project and set it to use .Net 4.6
    • Import Odin 1.0.3.0
    • Import InControl 1.6.14.
    • Drag the InControl folder into the Plugins folder. When Unity recompiled and Odin does its generation thing, Unity crashes.
  5. Tor Esa Vestergaard

    Ah. It seems that if you simply create a script outside of the Plugins folder, wait for recompile, and then move it into the Plugins folder, it causes a crash. Thanks for the heads up - I'll be sure to add this to the issue I have logged with Unity.

  6. Tor Esa Vestergaard

    I just received an update from the Unity team. They've managed to find and fix the cause of the bug, and it should be patched into both 2017.1 and 2017.2 within the near future. I'll test patches as they come out and provide updates here.

  7. Tor Esa Vestergaard

    We have fixed this issue in the upcoming patch, 1.0.5, which is currently undergoing beta testing. The issue has been resolved by completely eliminating the need to generate an editor .dll at all, which also has the handy side effect of eliminating the extra recompile that Odin often triggers when it generates editors. If you're in need of the fix, I can send you the latest beta build of the patch if you send me your Odin invoice number at tor@sirenix.net.

  8. Eugen Eistrach

    Thanks, nice to hear that this error will be sorted out soon. I have no need for the beta build since I got it to work by deleting the generated .dll and let it re-generate. (Although I can help test your new build if you need more testers),

  9. Tor Esa Vestergaard

    With the next patch, this issue is resolved, as we no longer generate an editor .dll that can cause a crash. The patch was submitted to the asset store today, so I'm going to mark this resolved, once and for all.

  10. Log in to comment