Search Issue Tracker

By Design

Votes

0

Found in

2019.1.14f1

2020.1

Issue ID

1187183

Regression

No

Assembly.Load fails to load type of script in custom namespace when name is retrieved via Preset.GetTargetFullTypeName

Scripting

-

To reproduce:
1. Open attached project
2. Open presets browser window via Window -> Pump Editor -> Presets Browser
3. Toggle on "Filter by preset type"
4. Select `MyNamespace.Test.MyComponent` as preset type.
5. Check Console

Actual results: Observe "FileNotFoundException: Could not load file or assembly 'MyNamespace' or one of its dependencies" exception in the console.
Expected results: There should be no errors

Reproduced in: 2019.2.15f1; 2020.1.0a12; 2021.2.0a10
Can not reproduce on 2017.4 and 2018.4 due to missing presets browser and errors

  1. Resolution Note (2021.2.X):

    TypeUtility tries to load an assembly named MyNamespace without try/catch. If there is no assembly with that name (which is what happens here), this will throw an exception - that we see in the console.

    This should be done within a try/catch block.

    However, I suggest using the TypeCache to quickly access every types inheriting from UnityObject and quickly matching their FullTypeName.

Add comment

Log in to post comment