diff --git a/Engine/source/T3D/assets/assetImporter.cpp b/Engine/source/T3D/assets/assetImporter.cpp index fed7ed005..c832e93e4 100644 --- a/Engine/source/T3D/assets/assetImporter.cpp +++ b/Engine/source/T3D/assets/assetImporter.cpp @@ -1549,15 +1549,17 @@ void AssetImporter::processImportAssets(AssetImportObject* assetItem) { processShapeAnimationAsset(item); } - else - { - String processCommand = "process"; - processCommand += item->assetType; + else + { + String processCommand = "process"; + processCommand += item->assetType; if (isMethod(processCommand.c_str())) - Con::executef(this, processCommand.c_str(), item); - } + Con::executef(this, processCommand.c_str(), item); + } - item->importStatus = AssetImportObject::Processed; + //If we've already set our status in the processing phase, don't override that new status + if(item->importStatus == AssetImportObject::NotProcessed) + item->importStatus = AssetImportObject::Processed; //try recusing on the children(if any) processImportAssets(item); @@ -2419,6 +2421,12 @@ bool AssetImporter::checkAssetForCollision(AssetImportObject* assetItemToCheck, void AssetImporter::resolveAssetItemIssues(AssetImportObject* assetItem) { + if(assetItem->importStatus == AssetImportObject::UseForDependencies) + { + //if we've already marked as only existing for dependency reasons, we'll just skip resolving any issues with it + importIssues = false; + return; + } if (assetItem->statusType == String("DuplicateImportAsset") || assetItem->statusType == String("DuplicateAsset")) { String humanReadableReason = assetItem->statusType == String("DuplicateImportAsset") ? "Importing asset was duplicate of another importing asset" : "Importing asset was duplicate of an existing asset";