Search Issue Tracker
Orphaned ScriptedImporter assets don't reimport correctly when a new importer type can handle them
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.
- 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.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Tabbed headers in editor windows need a style update
- [Android][IL2CPP] App crashes after executing Application.Quit
- [iOS] ReplayKit.APIAvailable returns 'false' on the first call on iOS 13 devices
- Texture preview can be clicked through
- [Progress] Progress bar does not revert to unresponsive status after another task completes