diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp index 4e2d740656..a2ccfd46f2 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/EBusEventHandler.cpp @@ -610,7 +610,7 @@ namespace ScriptCanvas void EBusEventHandler::OnDeserialize() { AZStd::lock_guard lock(m_mutex); - if (!m_ebus) + if (!m_ebus && !m_ebusName.empty()) { CreateHandler(m_ebusName); } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp index 793224fd86..7e3f5f7d24 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp @@ -769,27 +769,30 @@ namespace ScriptCanvas { AZStd::lock_guard lock(m_mutex); - m_warnOnMissingFunction = true; - const AZ::BehaviorClass* bcClass{}; - const AZ::BehaviorMethod* method{}; - EventType eventType; + if (!m_lookupName.empty() || !m_className.empty()) + { + m_warnOnMissingFunction = true; + const AZ::BehaviorClass* bcClass{}; + const AZ::BehaviorMethod* method{}; + EventType eventType; - if (GetBehaviorContextClassMethod(m_lookupName, bcClass, method, eventType)) - { - m_eventType = eventType; - ConfigureMethod(*method, bcClass); - } - else - { - if (!m_method) + if (GetBehaviorContextClassMethod(m_lookupName, bcClass, method, eventType)) { - AZ_Warning("ScriptCanvas", !m_warnOnMissingFunction, "method node failed to deserialize properly"); + m_eventType = eventType; + ConfigureMethod(*method, bcClass); + } + else + { + if (!m_method) + { + AZ_Warning("ScriptCanvas", !m_warnOnMissingFunction, "method node failed to deserialize properly"); + } } - } - if (m_resultSlotIDs.empty()) - { - m_resultSlotIDs.emplace_back(SlotId{}); + if (m_resultSlotIDs.empty()) + { + m_resultSlotIDs.emplace_back(SlotId{}); + } } Node::OnDeserialize(); @@ -798,6 +801,11 @@ namespace ScriptCanvas #if defined(OBJECT_STREAM_EDITOR_ASSET_LOADING_SUPPORT_ENABLED)//// void Method::OnWriteEnd() { + if (m_lookupName.empty() && m_className.empty()) + { + return; + } + OnDeserialize(); } #endif//defined(OBJECT_STREAM_EDITOR_ASSET_LOADING_SUPPORT_ENABLED)