Can't use hot reload for plugin and Actor class UE4

First, I created a C++ class interhited none to create maze generator. Then I saw, that hot reload need at least 1 gameplay object(Actor, Gamemode etc.). I created an Actor class(there was some problems from this topic), but hot reload also gives me a

Warning: RebindPackages not possible for specified packages (or application was compiled in monolithic mode.)

A maze generator class hasn’t UCLASS() mark, but Actor class has it.

You can’t hot reload plugins, you need to restart the editor or do it from modules window.

What you want to say me in “restart the editor”. How can it help me? In modules window I can’t find any my class

Do you have your code inside a plugin?

No, becasuse when I add an UCLASS() and GENERATED_BODY(), VS2017 returns error, because I can’t find and inlcude .generated.h file.

Help, please!

When running a project from IDE, in the output log you should see smth like enabling unity mode because of the “file name”, you should then check all includes in that file.

Where can I see it? In VS or in UE4.

In VS, when unreal header tool is running, first thing when you press start.

It’s my build log in VS:

1>------ Build started: Project: TestingSomething, Configuration: Development_Editor x64 ------

1>Creating makefile for TestingSomethingEditor (no existing makefile)

1>Parsing headers for TestingSomethingEditor

1> Running UnrealHeaderTool
“D:\Home\Volodya\Projects\Games\UE4\TestingSomething\TestingSomething\TestingSomething.uproject” “D:\Home\Volodya\Projects\Games\UE4\TestingSomething\TestingSomething\Intermediate\Build\Win64\TestingSomethingEditor\Development\TestingSomethingEditor.uhtmanifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -Unattended -WarningsAsErrors -installed

1>D:/Home/Volodya/Projects/Games/UE4/TestingSomething/TestingSomething/Source/TestingSomething/MazeGen.h(1): error : Invalid class name ‘MazeGen’. The class name must have an appropriate prefix added (A for Actors, U for other classes).

1>EXEC : error : UnrealHeaderTool failed for target ‘TestingSomethingEditor’ (platform: Win64, module info: D:\Home\Volodya\Projects\Games\UE4\TestingSomething\TestingSomething\Intermediate\Build\Win64\TestingSomethingEditor\Development\TestingSomethingEditor.uhtmanifest, exit code: OtherCompilationError (5)).

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: The command ““C:\Program Files\Epic Games\UE_4.18\Engine\Build\BatchFiles\Build.bat” TestingSomethingEditor Win64 Development “D:\Home\Volodya\Projects\Games\UE4\TestingSomething\TestingSomething\TestingSomething.uproject” -waitmutex” exited with code 5. Please verify that you have sufficient rights to run this command.

1>Done building project “TestingSomething.vcxproj” – FAILED.

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

When I renamed class to UMazeGen, it sad that class must extend UObject.

It says that your class cannot be simply MazeGen, it should be AMazeGen if derived from AActor, and UMazeGen if derived from UObject.

So I have to derive this class for UObject and name it UMazeGen? But if all classes must derive UObject or AActor, why UE4 has ability to create classes interhited “None”?

You can use a class with no prefixes, but it has not to be derived from unreal classes. Do you still have that problem?

Thanks, but I solved this problem. I created Blueprint C++ Library. Than you.