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

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.