diff --git a/Source/Engine/Level/SceneObjectsFactory.cpp b/Source/Engine/Level/SceneObjectsFactory.cpp index b0f968808..919c0eed2 100644 --- a/Source/Engine/Level/SceneObjectsFactory.cpp +++ b/Source/Engine/Level/SceneObjectsFactory.cpp @@ -721,8 +721,15 @@ void SceneObjectsFactory::SynchronizePrefabInstances(Context& context, PrefabSyn if (instance.FixRootParent && JsonTools::GetGuidIfValid(prefabStartParentId, prefabStartData, "ParentID")) { auto* root = data.SceneObjects[instance.RootIndex]; - const auto rootParent = Scripting::FindObject(prefabStartParentId); - root->SetParent(rootParent, false); + if (root) + { + const auto rootParent = Scripting::FindObject(prefabStartParentId); + root->SetParent(rootParent, false); + } + else + { + LOG(Warning, "Missing root actor at index {} for prefab instance at actor {} ({})", instance.RootIndex, instance.RootId, instance.Prefab->ToString()); + } } }