'unrealeditor-libpas.dll' Missing it seems?

The other day I had accidentally rebuilt the source engine along with my project, but something unusual happened. The editor seems to not function due to ‘unrealeditor-libpas.dll’ being missing. I tried to reclone and rebuild the engine twice, but it still seems to be missing. How does one resolve this?

Hey @Zappityduda

Did you check you have all updated for the new version?
You can check it here.

I am still using VS community to build the engine, I have not gotten vscode up and running properly yet. Via the visual studio installer I have .net 6/8/9; 4.6.2/4.7.2/4.8 targeting; 4.8/4.8.1 sdk; ‘,net sdk’; msvc 143 ‘ARM build tools (latest)’; x64/x86 MSVC build tools latest/14.38-17.8;

I was definitely trying to get clangd up and running via vscode extension when I accidentally rebuilt the engine the first time.

I was building the engine with clang compiler instead of msvc by mistake :frowning:

1 Like

If someone else had been trying to build UE 5.5 with Clang 18 instead of MSVC:

Clang-built Unreal on Windows works, it’s Epic that messed up the path some libraries are installed. for some reason:

  1. libpas on Windows uses a prebuilt with CL, but is built from scratch with Clang-CL
  2. Epic explicitly puts the library in a NotForLicensees subdirectory
  3. Epic messed up by dynamically linking with libpas when built using Clang-CL, instead of statically linking
  4. Epic then forgot to either copy the DLL or add it to the path of the editor when launching UnrealEditor or UnrealPak

The solution is trivial, just apply this patch:

diff --git a/Engine/Source/ThirdParty/libpas/src/libpas/libpas.Build.cs b/Engine/Source/ThirdParty/libpas/src/libpas/libpas.Build.cs
index 9bb76cde37a5..0adb9fca5c52 100644
--- a/Engine/Source/ThirdParty/libpas/src/libpas/libpas.Build.cs
+++ b/Engine/Source/ThirdParty/libpas/src/libpas/libpas.Build.cs
@@ -21,7 +21,7 @@ public class libpas : ModuleRules
                // Relative to the Engine/Source directory.
                string libpasDirectory = "ThirdParty/libpas";

-               if (Target.Platform == UnrealTargetPlatform.Win64 && !Target.WindowsPlatform.Compiler.IsClang())
+               if (Target.Platform == UnrealTargetPlatform.Win64)
                {
                        // Instead of compiling libpas on Windows, just use binaries that were prebuilt with clang-cl.
                        Type = ModuleType.External;

UBT will then just use the prebuilt like it does when using CL, and everything works (even installed builds)

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.