Cooking fails because of CEF3 whereas I don't use it (neither WebBrowser)

link textHello,

I have the exact same problem as here : 4.7.2 Cooking failed due to CF3 modules - Programming & Scripting - Unreal Engine Forums

I’ve started a new question, because my problem is slightly different, as I don’t have the WebBrowser as a module dependency.

Here are the build.cs files of my game, and the module I use to isolate my anim graph nodes code.

First, the game build file

using UnrealBuildTool;

public class BasketBall : ModuleRules
{
    public BasketBall(TargetInfo Target)
    {
        PublicDependencyModuleNames.AddRange(
            new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "AnimGraph"
            }
        );

        PrivateDependencyModuleNames.AddRange(
            new string[]
            {
                "InputCore",
                "AIModule",
                "AnimGraph"
            }
        );
    }
}

Now the editor module build file:

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class BasketBallEditor : ModuleRules
{
    public BasketBallEditor(TargetInfo Target)
    {
        PublicDependencyModuleNames.AddRange(
            new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "AnimGraph",
                "BasketBall"
            }
        );

        PrivateDependencyModuleNames.AddRange(
            new string[]
            {
                "InputCore",
                "AIModule",
                "AnimGraph",
                "BlueprintGraph",
                "UnrealEd"
            }
        );
    }
}

As you can see, I have no dependency on WebBrowser.

I don’t get how it ends up here in the process…

BTW, I checked in the engine folder, and I do have a CEF3Utils folder in C:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime\CEF3Utils

Thanks for the support

Hi Zoubi,

Do you also have CEF3Utils in the Developer folder?

/Users/Shared/UnrealEngine/4.7/Engine/Source/Developer

If so, please try deleting these two folders:

/Users/Shared/UnrealEngine/4.7/Engine/Source/Developer/CEF3Utils /Users/Shared/UnrealEngine/4.7/Engine/Source/Developer/WebBrowser

I apologize, those would be the Mac locations, not Windows. Did you check in C:\Program Files\Unreal Engine\4.7\Engine\Source\Developer ?

Unfortunately I don’t have these folders

I couldn’t even find a Developer folder

No worries, I had unterstand you had given some OSX locations :slight_smile:

I already checked in the windows paths, and no, I don’t have these folders

Hi Zoubi,

Are you using the binary or source build of the editor?

Hello,

the binaries

Right, ok. Have you ever used a source build, or did you by chance get one of the 4.7 preview builds?

We had an older issue wherein anyone using builds from the launcher that had tried out a 4.7 preview build had problems with code projects because of subdirectories not being removed correctly. That should have been fixed, but just in case can you make sure that you’re using the most recent Launcher version (Launcher I believe had a fairly recent update), and then try verifying your build of the editor via the version dropdown?

Thanks!

Hello,

I once used to use source builds, but I stopped when you proposed to debug the engine through the PDB you started to put in the binaries a few versions ago.

I removed a few weeks ago the git repository of the engine, and cleaned every occurences of UnrealEngine in the various Program Files / User files folders, before I downloaded the frontend and installed the engine with it.

I also verified the engine yesterday, and I use the latest version of the frontend.

I hope this helps :slight_smile:

Hi Zoubi,

Sorry for the late response. As you were able to find the folders containing those resources, I am sure they are related to the problem where the utils were being added to builds wherein they were not needed, and as such feel free to delete them. You may have to dig around to make sure there aren’t any extra instances stored away when you’re done, and restarting after couldn’t hurt.

Lemme know if this helps!

Hello,

I tried to move elsewhere the CEF3Utils and WebBrowser folders in C:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime but the error is still there.

But the output logs an error stating that it can’t find a file in the CEF3Utils, not that it has an error processing it:

UnrealBuildTool: ERROR: Couldn’t find module rules file for module ‘CEF3’.

So my guess is that removing those folders isn’t the correct workaround, am I right?

I’m wondering how the builder tool gets to this depency, given the build files I posted above…

Hi, I’m having the same issue when trying to package also with the same error:

from my log:

Exception thrown while processing dependent modules of UnrealEd
Exception thrown while processing dependent modules of AnimGraph
Exception thrown while processing dependent modules of GraphEditor
Exception thrown while processing dependent modules of KismetWidgets
Exception thrown while processing dependent modules of BlueprintGraph
Exception thrown while processing dependent modules of KismetCompiler
Exception thrown while processing dependent modules of MovieSceneTools
Exception thrown while processing dependent modules of AssetTools
Exception thrown while processing dependent modules of TextureEditor
Exception thrown while processing dependent modules of MainFrame
Exception thrown while processing dependent modules of DeviceProfileEditor
Exception thrown while processing dependent modules of LevelEditor
Exception thrown while processing dependent modules of WebBrowser
Exception thrown while processing dependent modules of CEF3Utils
**ERROR: Couldn't find module rules file for module 'CEF3'.**

I haven’t included any mention of this module in my code (I don’t believe) and I’ve included no webbrowser type functionality as mentioned in the other CEF3 thread.
Is this module primarily used for web browsing, is there some .h file that might be including parts of it without me knowing. Something from slate perhaps??

My scene is blank (with starter content) and my plugin, which is currently just a single widget (nothing fancy).
It all plays fine in the editor.

I’m on 4.7.6 build from binary (epic launcher)

Hello,

just a quick info : this morning, I completely removed Epic Launcher and the engine, and manually deleted all the remaining files / folders in Users/AppData, ProgramData/, etc…

I re-installed Epic Launcher and the latest engine (4.7.6), generated again the SLN file, opened it in VS2013 (Community edition), ran the editor using the target DebugGame Editor, and tried to package the game for WIndows x64.

I have the exact same problem.

Hope this helps :slight_smile:

Hi Zoubi,

We have a suspicion this might be a launcher issue so you made the right move, I am just sorry it didn’t help.

I am going to push your issue out to another dev to see if they can assist, so just hang tight a bit longer. I suspect you’ve covered most of these suggestions via your re-install, but just in case here is a wiki of common Launcher issues to double check while you’re waiting. Maybe something will help :slight_smile:

Thank you for your patience.

Hello,

Thanks for your answer, but the wiki page was not useful this time.

But no big deal, I’m in absolutely no hurry :slight_smile:

Good luck finding the issue

I have the same problem. I tried to create a plugin with a new AnimGraph node, but can’t build it outside of the Editor with the same messages. The node needs the UnrealEd/AnimGraph dependencies to compile.

Is there any other way to create a blueprint node that can drive animations?

Ok, I’ve actually solved my problem by splitting my plugin up into a runtime plugin that contains the animnode, and an editor plugin that contains the AnimGraphNode needed for the editor as explained here :

That way the non-editor compiles don’t depend on UnrealEd, BlueprintGraph, or AnimGraph anymore, and thus don’t need CEF3.

That’s a good news :slight_smile:

Would you mind copy/pasting your Build.cs files for your game and editor?

Because I’m quite not sure what’s need to be put in the PublicDependencyModuleNames and PrivateDependencyModuleNames arrays

EDIT : I’ve stripped my build files too, and I confirm the problem is solved. I assume it’s either in AnimGraph or UnrealEd that the dependency to WebBrowser is required (I would choose the latter)

FYI, here are my build files, for the game:

public class BasketBall : ModuleRules
{
    public BasketBall(TargetInfo Target)
    {
        PublicDependencyModuleNames.AddRange(
            new string[]
            {
                "Core",
                "CoreUObject",
                "Engine"
            }
        );

        PrivateDependencyModuleNames.AddRange(
            new string[]
            {
                "InputCore",
                "AIModule"
            }
        );
    }
}

and the editor DLL:

public class BasketBallEditor : ModuleRules
{
    public BasketBallEditor(TargetInfo Target)
    {
        PublicDependencyModuleNames.AddRange(
            new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "AnimGraph",
                "BasketBall"
            }
        );

        PrivateDependencyModuleNames.AddRange(
            new string[]
            {
                "InputCore",
                "AIModule",
                "AnimGraph",
                "BlueprintGraph",
                "UnrealEd"
            }
        );
    }
}

I hope this will hjelp :slight_smile:

I have the following paths/modules in my editor plugin .Build.cs :

			PublicIncludePaths.AddRange(
				new string[] {
                    "MyPluginEditor/Public",
                    "MyPlugin/Public",
				}
				);

			PrivateIncludePaths.AddRange(
				new string[] {
					"MyPluginEditor/Private",
				}
				);

			PublicDependencyModuleNames.AddRange(
				new string[]
				{
					"Core",
                    "CoreUObject",
                    "Engine",
                    "MyPlugin",
				}
				);
        
			PrivateDependencyModuleNames.AddRange(
				new string[]
				{
                    "UnrealEd",
                    "BlueprintGraph",
                    "AnimGraph",
                    "MyPlugin",
				}
				);

And this is my runtime build file :

			PublicIncludePaths.AddRange(
				new string[] {
                    "MyPlugin/Public",
				}
				);

			PrivateIncludePaths.AddRange(
				new string[] {
					"MyPlugin/Private",
				}
				);

			PublicDependencyModuleNames.AddRange(
				new string[]
				{
					"Core",
                    "CoreUObject",
                    "Engine",
				}
				);

Not sure if this makes sense in terms of splitting public/private, but it works for me :slight_smile:

I propose you copy/paste your previous comment as an answer, so I can accept it :slight_smile: