Search Issue Tracker

Active

Votes

2

Found in

2019.1.0a12

Issue ID

1117147

Regression

No

Orphaned ScriptedImporter assets don't reimport correctly when a new importer type can handle them

Asset Importers

-

When a ScriptedImporter asset becomes orphaned (the ScriptedImporter type disappears), it changes to a DefaultImporter asset (*), but some state seems to bind it to the old importer type:
- restoring the old importer type reimports the asset correctly
- adding a new type of scripted importer to handle the extension instead, results in:
> Asset import failed, "Assets/a.blah" > Scripted importer instance could not be created!

EXPECTING: Assigned importer has changed since last import, reseting import settings to defaults for asset 'Assets/a.blah': <unknown> -> Assembly-CSharp-Editor-testable::MockImporterWithObjectProperty.

NB:
- reimporting the asset manually at this point (or incrementing importer version to force reimport) fixes the problem
- swapping the importer type to a different one without a Refresh in-between doesn't show the problem

(*) PR https://ono.unity3d.com/unity/unity/pull-request/80725/_/assetpipeline/change-behaviour-when-scripted-importers-disappear makes this behaviour more visible as it fixes a problem that was previously hiding it (previously the asset was not being reimported automatically by the DefaultImporter (unless manually forced by the user) and switching the scripted importer when the asset is(/seems) still imported by another scripted importer works just fine.

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.