Fab plugin 0.0.22 (FabToolset module) breaks every C++ project build on launcher engines – UBT RulesError

Summary

After the Fab plugin in Engine/Plugins/Fab updated itself to version 0.0.22, every C++ project build with a launcher (Installed Build) engine fails before compiling anything:

Expecting to find a type to be declared in a module rules named ‘FabToolset’ in ‘UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’. This type must derive from the ‘ModuleRules’ type defined by UnrealBuildTool.
Result: Failed (RulesError)

Version 0.0.22 adds a new module FabToolset (Fab.uplugin + Source/FabToolset/FabToolset.Build.cs), but the precompiled engine rules assembly Engine/Intermediate/Build/BuildRules/UE5Rules.dll does not contain its rules (UE5RulesManifest.json has no FabToolset entry). On an Installed Build UBT never recompiles the engine rules (“Skipping …\UE5Rules.dll: File is installed”), so the module can never be resolved. Blueprint-only projects are not affected; C++ projects (IDE builds, Live Coding, rebuilding modules from the editor) are.

What Type of Bug are you experiencing?

Foundation (C++ Tools, Profiling, & Pipeline)

Steps to Reproduce

  1. Use a launcher install of Unreal Engine 5.8 (here 5.8.4) whose Fab plugin has updated itself to 0.0.22 (it updated separately from the engine update).
  2. Open or create any C++ project with the Fab plugin enabled (it is EnabledByDefault).
  3. Build the editor target, e.g. UnrealBuildTool.dll MyProjectEditor Win64 Development -Project=…\MyProject.uproject, or build from Visual Studio / Live Coding.

Expected Result

The project builds. FabToolset’s module rules are part of the shipped engine rules, or the Fab update ships with a rules assembly that matches it.

Observed Result

UBT stops after a few seconds with “Result: Failed (RulesError)” and the message above. Updating the engine to 5.8.4 and running “Verify” in the Epic Games Launcher do not help: Fab stays at 0.0.22 and the 5.8.4 UE5Rules.dll still has no FabToolset.

Affects Versions

5.8

Platform(s)

Windows

Additional Notes

Environment: Windows 11 Pro (10.0.26300), Unreal Engine 5.8.4-58902052+++UE5+Release-5.8 (Epic Games Launcher install), Fab plugin 0.0.22.

Workarounds:

  • Build with -DisablePlugin=Fab on the UBT command line. But an editor built that way does not mount the Fab plugin at all (no “Mounting Engine plugin Fab” in the log), so the Fab window is gone.
  • Remove the FabToolset entry from Engine/Plugins/Fab/Fab.uplugin. It only registers one AI toolset function (GetFabPluginVersion). After that, normal builds work again and the editor loads Fab.

FabToolset has “LoadingPhase”: “None” and depends on the optional ToolsetRegistry plugin. Its prebuilt DLL is shipped; only the module rules are missing from the installed rules assembly.