diff --git a/Source/Engine/Level/SceneObject.h b/Source/Engine/Level/SceneObject.h index 9537af06e..80be46c21 100644 --- a/Source/Engine/Level/SceneObject.h +++ b/Source/Engine/Level/SceneObject.h @@ -46,6 +46,7 @@ typedef Dictionary ActorsLookup; #define DECLARE_SCENE_OBJECT_ABSTRACT(type) \ DECLARE_SCRIPTING_TYPE_NO_SPAWN(type); \ + static type* Spawn(const SpawnParams& params) { return nullptr; } \ explicit type(const SpawnParams& params) #define DECLARE_SCENE_OBJECT_NO_SPAWN(type) \ diff --git a/Source/Engine/Scripting/BinaryModule.cpp b/Source/Engine/Scripting/BinaryModule.cpp index cb4b20e76..56f944f69 100644 --- a/Source/Engine/Scripting/BinaryModule.cpp +++ b/Source/Engine/Scripting/BinaryModule.cpp @@ -492,6 +492,7 @@ ScriptingObject* ManagedBinaryModule::ManagedObjectSpawn(const ScriptingObjectSp ScriptingObject* object = nativeTypePtr->Script.Spawn(params); if (!object) { + LOG(Error, "Failed to spawn object of type {0} with native base type {1}.", managedTypePtr->ToString(), nativeTypePtr->ToString()); return nullptr; }