Adding ANY CPP+ class to project renders it BROKEN and UNRECOVERABLE

  1. I create empty Blank project with 4.26.2, I select target platform as Windows 64 in Project Setting, I run package. All good.
  2. I add either default C++ class based on None or I enable OnlineSubsystemSteam, I restart - I get this in Editor Output log: https://pastebin.com/raw/EApAa1Ab
  3. I get the same issue when I try to build it in VS with editor closed https://pastebin.com/raw/EHezE8kj
  4. If I try to create C++ based project instead it will fail immediately with the same error.

I clear uproject file to the state it was right after project creation and try to re-open - no dice, it is now forever stuck with thew same damned error:

2>D:/UE_4.26/Engine/Source/Developer/ToolMenus/Public/ToolMenuDelegates.h(34): error : Unable to parse delegate declaration; expected 'DECLARE_DYNAMIC_DELEGATE' but found 'DECLARE_DYNAMIC_DELEGATE_OneParam'.

So basically enabling some plugins or adding c++ classes is a destructive action in this case and there is noway to recover.

This sounds like your installation is broken somehow, did you install this as a C++ project to begin with? Also “C++ class based on none”? That doesn’t make much sense in Unreal context.

– you would need to recompile the whole engine for that, and there may be more than one such error.

What possible issue was made during compilation process? I just fetched 4.26 branch and run compilation

the error is saying that it found DECLARE_DYNAMIC_DELEGATE_OneParam, Nacho.

Still, the rest of us simply don’t have that problem. What steps are you doing, specifically?

Going to chime in, in case anyone else has the same problem in the future.

It’s caused by improper config or lackthereof for UHT in

Engine\Programs\UnrealHeaderTool\Config

The config has available delegate extensions, like _OneParam. Without the config it defaults to no param during UHT pass.

Accidentally removed the Programs folder and then wasted time debugging why UHT fails…

Quick necro here, had this issue after converting a blueprint project to a c++ by adding a class in via the UE editor.

Close the Editor(s), Right click the Engine version (in my case 5.5.3) and choose “Verify”. takes a little bit(or a long bit) but after it was done, i could open the .sln file and click the play button and it worked.