diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp
index fa7d5f6e9b..6e96511507 100644
--- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp
+++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp
@@ -252,13 +252,20 @@ namespace AzToolsFramework
}
AZStd::string out;
- if (m_loaderInterface->SaveTemplateToString(m_rootInstance->GetTemplateId(), out))
+
+ if (!m_loaderInterface->SaveTemplateToString(m_rootInstance->GetTemplateId(), out))
{
- const size_t bytesToWrite = out.size();
- const size_t bytesWritten = stream.Write(bytesToWrite, out.data());
- return bytesWritten == bytesToWrite;
+ return false;
}
- return false;
+
+ const size_t bytesToWrite = out.size();
+ const size_t bytesWritten = stream.Write(bytesToWrite, out.data());
+ if(bytesWritten != bytesToWrite)
+ {
+ return false;
+ }
+ m_prefabSystemComponent->SetTemplateDirtyFlag(templateId, false);
+ return true;
}
void PrefabEditorEntityOwnershipService::CreateNewLevelPrefab(AZStd::string_view filename, const AZStd::string& templateFilename)
diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp
index 7915403c0a..d6b7aebddc 100644
--- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp
+++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp
@@ -58,8 +58,17 @@ namespace AzToolsFramework
if (!path.empty())
{
- infoString =
- QObject::tr("(%1)").arg(path.Filename().Native().data());
+ QString saveFlag = "";
+ auto dirtyOutcome = m_prefabPublicInterface->HasUnsavedChanges(path);
+
+ if (dirtyOutcome.IsSuccess() && dirtyOutcome.GetValue() == true)
+ {
+ saveFlag = "*";
+ }
+
+ infoString = QObject::tr("(%1%2)")
+ .arg(path.Filename().Native().data())
+ .arg(saveFlag);
}
return infoString;