Problem creating AssetDefinition in plugin editor module

Hello everyone! I want to create a custom asset type for editor, using UAssetDefinition_Blueprint, but I can’t seem to make it work, I added required dependencies, as well as plugins, but still, if I try to build the project I get this error:

Summary

CONSOLE: Use build tool: C:\Programs\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Box\EpicGames.Box.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\EpicGames.Build.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Core\EpicGames.Core.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Horde\EpicGames.Horde.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\EpicGames.IoHash.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\EpicGames.OIDC.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\EpicGames.Serialization.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.UHT\EpicGames.UHT.csproj
12:31:23 Building E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\EpicGames.MsBuild.csproj
EpicGames.Core → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Core\bin\Development\net6.0\EpicGames.Core.dll
EpicGames.Box → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Box\bin\Development\net6.0\EpicGames.Box.dll
EpicGames.IoHash → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\bin\Development\net6.0\EpicGames.IoHash.dll
EpicGames.MsBuild → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\bin\Development\net6.0\EpicGames.MsBuild.dll
EpicGames.Build → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\bin\Development\net6.0\EpicGames.Build.dll
EpicGames.Serialization → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\bin\Development\net6.0\EpicGames.Serialization.dll
EpicGames.Horde → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Horde\bin\Development\net6.0\EpicGames.Horde.dll
EpicGames.OIDC → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\bin\Development\net6.0\EpicGames.OIDC.dll
EpicGames.UHT → E:\Programs\UnrealEngine\UE_5.3\Engine\Source\Programs\Shared\EpicGames.UHT\bin\Development\net6.0\EpicGames.UHT.dll
UnrealBuildTool → E:\Programs\UnrealEngine\UE_5.3\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll
12:31:24 Building E:\Files\UnrealProjects\ProjectPhoenix\Intermediate\ProjectFiles\ProjectPhoenix.vcxproj
E:\Programs\UnrealEngine\UE_5.3\Engine\Build\BatchFiles\Build.bat ProjectPhoenixEditor Win64 Development -Project=“E:\Files\UnrealProjects\ProjectPhoenix\ProjectPhoenix.uproject” -WaitMutex -FromMsBuild
Using bundled DotNet SDK version: 6.0.302
Running UnrealBuildTool: dotnet “…..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll” ProjectPhoenixEditor Win64 Development -Project=“E:\Files\UnrealProjects\ProjectPhoenix\ProjectPhoenix.uproject” -WaitMutex -FromMsBuild
Log file: C:\Users\JustNik\AppData\Local\UnrealBuildTool\Log.txt
Using ‘git status’ to determine working set for adaptive non-unity build (E:\Files\UnrealProjects\ProjectPhoenix).
Invalidating makefile for ProjectPhoenixEditor (VisualNovelWorkbenchEditor.Build.cs modified)
Parsing headers for ProjectPhoenixEditor
Running Internal UnrealHeaderTool E:\Files\UnrealProjects\ProjectPhoenix\ProjectPhoenix.uproject E:\Files\UnrealProjects\ProjectPhoenix\Intermediate\Build\Win64\ProjectPhoenixEditor\Development\ProjectPhoenixEditor.uhtmanifest -WarningsAsErrors -installed
Total of 0 written
Reflection code generated for ProjectPhoenixEditor in 1.3424003 seconds
Building ProjectPhoenixEditor…
Using Visual Studio 2022 14.36.32534 toolchain (C:\Programs\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532) and Windows 10.0.22000.0 SDK (C:\Program Files (x86)\Windows Kits\10).
[Adaptive Build] Excluded from VisualNovelWorkbench unity file: NovelScriptAsset.cpp
Determining max actions to execute in parallel (6 physical cores, 12 logical cores)
Executing up to 6 processes, one per physical core
Requested 1.5 GB memory per action, 8.63 GB available: limiting max parallel actions to 5
------ Building 2 action(s) started ------
[1/2] Link [x64] UnrealEditor-VisualNovelWorkbenchEditor.dll
Creating library E:\Files\UnrealProjects\ProjectPhoenix\Plugins\VisualNovelWorkbench\Intermediate\Build\Win64\x64\UnrealEditor\Development\VisualNovelWorkbenchEditor\UnrealEditor-VisualNovelWorkbenchEditor.sup.lib and object E:\Files\UnrealProjects\ProjectPhoenix\Plugins\VisualNovelWorkbench\Intermediate\Build\Win64\x64\UnrealEditor\Development\VisualNovelWorkbenchEditor\UnrealEditor-VisualNovelWorkbenchEditor.sup.exp
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class TSharedPtr<class SWidget,1> __cdecl UAssetDefinition_ClassTypeBase::GetThumbnailOverlay(struct FAssetData const &)const " (?GetThumbnailOverlay@UAssetDefinition_ClassTypeBase@@UEBA?AV?$TSharedPtr@VSWidget@@$00@@AEBUFAssetData@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2019 : unresolved external symbol “private: static class UClass * __cdecl UAssetDefinition_Blueprint::GetPrivateStaticClass(void)” (?GetPrivateStaticClass@UAssetDefinition_Blueprint@@CAPEAVUClass@@XZ) referenced in function “public: static class UClass * __cdecl UAssetDefinition_Blueprint::StaticClass(void)” (?StaticClass@UAssetDefinition_Blueprint@@SAPEAVUClass@@XZ)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2019 : unresolved external symbol “public: __cdecl UAssetDefinition_Blueprint::UAssetDefinition_Blueprint(void)” (??0UAssetDefinition_Blueprint@@QEAA@XZ) referenced in function “void __cdecl InternalConstructor(class FObjectInitializer const &)” (??$InternalConstructor@VUAssetDefinition_NovelScript@@@@YAXAEBVFObjectInitializer@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2019 : unresolved external symbol “public: __cdecl UAssetDefinition_Blueprint::UAssetDefinition_Blueprint(class FVTableHelper &)” (??0UAssetDefinition_Blueprint@@QEAA@AEAVFVTableHelper@@@Z) referenced in function “public: __cdecl UAssetDefinition_NovelScript::UAssetDefinition_NovelScript(class FVTableHelper &)” (??0UAssetDefinition_NovelScript@@QEAA@AEAVFVTableHelper@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2019 : unresolved external symbol “public: virtual __cdecl UAssetDefinition_Blueprint::~UAssetDefinition_Blueprint(void)” (??1UAssetDefinition_Blueprint@@UEAA@XZ) referenced in function “public: virtual __cdecl UAssetDefinition_NovelScript::~UAssetDefinition_NovelScript(void)” (??1UAssetDefinition_NovelScript@@UEAA@XZ)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class FText __cdecl UAssetDefinition_Blueprint::GetAssetDisplayName(struct FAssetData const &)const " (?GetAssetDisplayName@UAssetDefinition_Blueprint@@UEBA?AVFText@@AEBUFAssetData@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class FText __cdecl UAssetDefinition_Blueprint::GetAssetDescription(struct FAssetData const &)const " (?GetAssetDescription@UAssetDefinition_Blueprint@@UEBA?AVFText@@AEBUFAssetData@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual enum EAssetCommandResult __cdecl UAssetDefinition_Blueprint::Merge(struct FAssetAutomaticMergeArgs const &)const " (?Merge@UAssetDefinition_Blueprint@@UEBA?AW4EAssetCommandResult@@AEBUFAssetAutomaticMergeArgs@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual enum EAssetCommandResult __cdecl UAssetDefinition_Blueprint::Merge(struct FAssetManualMergeArgs const &)const " (?Merge@UAssetDefinition_Blueprint@@UEBA?AW4EAssetCommandResult@@AEBUFAssetManualMergeArgs@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual enum EAssetCommandResult __cdecl UAssetDefinition_Blueprint::PerformAssetDiff(struct FAssetDiffArgs const &)const " (?PerformAssetDiff@UAssetDefinition_Blueprint@@UEBA?AW4EAssetCommandResult@@AEBUFAssetDiffArgs@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class UThumbnailInfo * __cdecl UAssetDefinition_Blueprint::LoadThumbnailInfo(struct FAssetData const &)const " (?LoadThumbnailInfo@UAssetDefinition_Blueprint@@UEBAPEAVUThumbnailInfo@@AEBUFAssetData@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual enum EAssetCommandResult __cdecl UAssetDefinition_Blueprint::OpenAssets(struct FAssetOpenArgs const &)const " (?OpenAssets@UAssetDefinition_Blueprint@@UEBA?AW4EAssetCommandResult@@AEBUFAssetOpenArgs@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class TWeakPtr<class IClassTypeActions,1> __cdecl UAssetDefinition_Blueprint::GetClassTypeActions(struct FAssetData const &)const " (?GetClassTypeActions@UAssetDefinition_Blueprint@@UEBA?AV?$TWeakPtr@VIClassTypeActions@@$00@@AEBUFAssetData@@@Z)
10>Module.VisualNovelWorkbenchEditor.cpp.obj: Error LNK2001 : unresolved external symbol "public: virtual class UFactory * __cdecl UAssetDefinition_Blueprint::GetFactoryForBlueprintType(class UBlueprint *)const " (?GetFactoryForBlueprintType@UAssetDefinition_Blueprint@@UEBAPEAVUFactory@@PEAVUBlueprint@@@Z)
10>UnrealEditor-VisualNovelWorkbenchEditor.dll: Error LNK1120 : 14 unresolved externals
Total time in Parallel executor: 0.71 seconds
Total execution time: 11.55 seconds
10>Microsoft.MakeFile.Targets(44,5): Error MSB3073 : The command “E:\Programs\UnrealEngine\UE_5.3\Engine\Build\BatchFiles\Build.bat ProjectPhoenixEditor Win64 Development -Project=“E:\Files\UnrealProjects\ProjectPhoenix\ProjectPhoenix.uproject” -WaitMutex -FromMsBuild” exited with code 6.

Here’s how my classes look:

AssetDefinition_NovelScript.h

#pragma once

include “CoreMinimal.h”
include “Script/AssetDefinition_Blueprint.h”
include “AssetDefinition_NovelScript.generated.h”

UCLASS()
class VISUALNOVELWORKBENCHEDITOR_API UAssetDefinition_NovelScript : public UAssetDefinition_Blueprint
{
GENERATED_BODY()

};

AssetDefinition_NovelScript.cpp is empty

VisualNovelWorkbenchEditor.Build.cs

using UnrealBuildTool;

public class VisualNovelWorkbenchEditor : ModuleRules
{
public VisualNovelWorkbenchEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

    PublicDependencyModuleNames.AddRange(
        new string[]
        {
            "Core", "AssetTools", "EngineAssetDefinitions",
        }
    );

    PrivateDependencyModuleNames.AddRange(
        new string[]
        {
            "Core",
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "VisualNovelWorkbench",
            "UnrealEd",
            "BlueprintGraph",
            "Kismet",
            "AssetTools",
            "AssetDefinition",
            "EngineAssetDefinitions",
        }
    );
}

}

VisualNovelWorkbench.uplugin

{
“FileVersion”: 3,
“Version”: 1,
“VersionName”: “1.0”,
“FriendlyName”: “VisualNovelWorkbench”,
“Description”: “”,
“Category”: “Other”,
“CreatedBy”: “JustNik”,
“CreatedByURL”: “”,
“DocsURL”: “”,
“MarketplaceURL”: “”,
“SupportURL”: “”,
“CanContainContent”: true,
“IsBetaVersion”: true,
“IsExperimentalVersion”: false,
“Installed”: false,
“Modules”: [
{
“Name”: “VisualNovelWorkbench”,
“Type”: “Runtime”,
“LoadingPhase”: “Default”
},
{
“Name”: “VisualNovelWorkbenchEditor”,
“Type”: “Editor”,
“LoadingPhase”: “Default”
}
],
“Plugins”: [
{
“Name”: “EngineAssetDefinitions”,
“Enabled”: true
}
]
}