diff --git a/Source/Engine/Level/Level.cpp b/Source/Engine/Level/Level.cpp index b1ac5f890..f24a853e3 100644 --- a/Source/Engine/Level/Level.cpp +++ b/Source/Engine/Level/Level.cpp @@ -1037,10 +1037,14 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, Scene** ou // Add injected children of scene (via OnSceneLoading) into sceneObjects to be initialized for (auto child : injectedSceneChildren) { - sceneObjects->Add(child); - if (!child->IsRegistered()) + Array injectedSceneObjects; + injectedSceneObjects.Add(child); + SceneQuery::GetAllSceneObjects(child, injectedSceneObjects); + for (auto o : injectedSceneObjects) { - child->RegisterObject(); + if (!o->IsRegistered()) + o->RegisterObject(); + sceneObjects->Add(o); } }