diff --git a/Source/Engine/Core/LogContext.cpp b/Source/Engine/Core/LogContext.cpp index 4264d8759..9df4bce99 100644 --- a/Source/Engine/Core/LogContext.cpp +++ b/Source/Engine/Core/LogContext.cpp @@ -9,6 +9,7 @@ #include "Engine/Scripting/Scripting.h" #include "Engine/Scripting/Script.h" #include "Engine/Content/Asset.h" +#include "Engine/Content/Content.h" #include "Engine/Level/Actor.h" #include "Engine/Threading/ThreadLocal.h" @@ -83,6 +84,10 @@ void LogContext::Print(LogType verbosity) msg.AppendFormat(TEXT("object {} ({})"), String(typeName), context.ObjectID); } } + else if (Asset* asset = Content::GetAsset(context.ObjectID)) + { + msg.AppendFormat(TEXT("asset '{}' ({}, {})"), asset->GetPath(), asset->GetTypeName(), context.ObjectID); + } else { msg.AppendFormat(TEXT("object {}"), context.ObjectID); diff --git a/Source/Engine/Level/Prefabs/PrefabManager.cpp b/Source/Engine/Level/Prefabs/PrefabManager.cpp index 6f89073b1..99fd7d674 100644 --- a/Source/Engine/Level/Prefabs/PrefabManager.cpp +++ b/Source/Engine/Level/Prefabs/PrefabManager.cpp @@ -14,6 +14,7 @@ #include "Engine/Core/Collections/CollectionPoolCache.h" #include "Engine/Profiler/ProfilerCPU.h" #include "Engine/Core/Cache.h" +#include "Engine/Core/LogContext.h" #include "Engine/Debug/Exceptions/ArgumentException.h" #include "Engine/Engine/EngineService.h" #include "Engine/Scripting/Script.h" @@ -122,6 +123,7 @@ Actor* PrefabManager::SpawnPrefab(Prefab* prefab, const Transform& transform, Ac } auto& data = *prefab->Data; SceneObjectsFactory::Context context(modifier.Value); + LogContextScope logContext(prefabId); // Deserialize prefab objects auto prevIdMapping = Scripting::ObjectsLookupIdMapping.Get();