diff --git a/Source/Editor/Modules/SceneModule.cs b/Source/Editor/Modules/SceneModule.cs
index 0a51038ac..257262585 100644
--- a/Source/Editor/Modules/SceneModule.cs
+++ b/Source/Editor/Modules/SceneModule.cs
@@ -591,7 +591,7 @@ namespace FlaxEditor.Modules
private void OnActorNameChanged(Actor actor)
{
ActorNode node = GetActorNode(actor);
- node?.TreeNode.OnNameChanged();
+ node?.TreeNode.UpdateText();
}
private void OnActorActiveChanged(Actor actor)
diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs
index 83ea666d9..c4edda65e 100644
--- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs
+++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs
@@ -97,11 +97,6 @@ namespace FlaxEditor.SceneGraph.GUI
}
}
- internal void OnNameChanged()
- {
- UpdateText();
- }
-
///
/// Updates the tree node text.
///
diff --git a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs
index 1b1cfb4ff..5a532e362 100644
--- a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs
+++ b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs
@@ -430,7 +430,7 @@ namespace FlaxEditor.Windows.Assets
{
if (actorNode.Actor)
{
- actorNode.TreeNode.OnNameChanged();
+ actorNode.TreeNode.UpdateText();
actorNode.TreeNode.OnOrderInParentChanged();
}
diff --git a/Source/Engine/Level/Prefabs/Prefab.Apply.cpp b/Source/Engine/Level/Prefabs/Prefab.Apply.cpp
index 5ea8ad0a4..e0df48fae 100644
--- a/Source/Engine/Level/Prefabs/Prefab.Apply.cpp
+++ b/Source/Engine/Level/Prefabs/Prefab.Apply.cpp
@@ -1255,20 +1255,19 @@ void Prefab::SyncNestedPrefabs(const NestedPrefabsList& allPrefabs, ArrayWaitForLoaded())
{
LOG(Warning, "Waiting for prefab asset load failed.");
continue;
}
+ // Sync only if prefab is used by this prefab (directly) and it has been captured before
const int32 nestedPrefabIndex = nestedPrefab->NestedPrefabs.Find(GetID());
if (nestedPrefabIndex != -1)
{
- if (nestedPrefab->SyncChangesInternal(allPrefabsInstancesData[nestedPrefabIndex]))
+ if (nestedPrefab->SyncChangesInternal(allPrefabsInstancesData[i]))
continue;
-
nestedPrefab->SyncNestedPrefabs(allPrefabs, allPrefabsInstancesData);
-
ObjectsRemovalService::Flush();
}
}