diff --git a/Code/Tools/SceneAPI/SceneData/Behaviors/ScriptProcessorRuleBehavior.cpp b/Code/Tools/SceneAPI/SceneData/Behaviors/ScriptProcessorRuleBehavior.cpp index 2bec5a10c7..8924f10115 100644 --- a/Code/Tools/SceneAPI/SceneData/Behaviors/ScriptProcessorRuleBehavior.cpp +++ b/Code/Tools/SceneAPI/SceneData/Behaviors/ScriptProcessorRuleBehavior.cpp @@ -305,6 +305,11 @@ namespace AZ::SceneAPI::Behaviors { using namespace AzToolsFramework; + // This behavior persists on the same AssetBuilder. Clear the script file name so that if + // this builder processes a scene file with a script file name, and then later processes + // a scene without a script file name, it won't run the old script on the new scene. + m_scriptFilename.clear(); + if (action != ManifestAction::Update) { return Events::ProcessingResult::Ignored; diff --git a/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp b/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp index f43f1c7965..18ee0285b8 100644 --- a/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp +++ b/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp @@ -74,6 +74,8 @@ namespace SceneBuilder { m_cachedFingerprint.append(element); } + // A general catch all version fingerprint. Update this to force all FBX files to recompile. + m_cachedFingerprint.append("Version 1"); } return m_cachedFingerprint.c_str();