Your comments

As a side-note, I investigated a little more into this issue and discovered the culprit.

The reason behind this exception is not the heaviness of the obfuscation, but the corruption of the assembly.

API Updater can incorrectly patch an assembly therefore corrupting it.

The bug has been reported already.

File: 'Assets/Ludiq/Ludiq.PeekCore/Editor/Reflection/Codebase.cs'

Line: 227

Method: 'IsEditorAssembly'

Calling IsDefined() on an assembly which can throw a type load exception when the assembly is heavily obfuscated.

Suggested patch:

private static bool IsEditorAssembly(Assembly assembly)
{
    try
    {
        if (Attribute.IsDefined(assembly, typeof(AssemblyIsEditorAssembly)))
        {
            return true;
        }

        return IsEditorAssembly(assembly.GetName());
    }
    catch (Exception ex)
    {
        Debug.LogWarning($"Failed to define if assembly '{assembly}' is editor.\n{ex}");
    }

    return false;
}

Thank you Andras for pointing me this bug report.


I will get in touch with Ludiq before going forward.