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

link textHello,

I have exact same problem as here : 4.7.2 Cooking failed due to CF3 modules - Programming & Scripting - Epic Developer Community Forums

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

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

First, 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 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 process…

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

Thanks for support

Hi Zoubi,

Do you also have CEF3Utils in 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 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 windows paths, and no, I don’t have these folders

Hi Zoubi,

Are you using binary or source build of editor?

Hello,

binaries

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

We had an older issue wherein anyone using builds from 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 most recent Launcher version (Launcher I believe had a fairly recent update), and then try verifying your build of editor via version dropdown?

Thanks!

Hello,

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

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

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

I hope this helps :slight_smile:

Hi Zoubi,

Sorry for late response. As you were able to find folders containing those resources, I am sure they are related to problem where 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 CEF3Utils and WebBrowser folders in C:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime but error is still there.

But output logs an error stating that it can’t find a file in 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 correct workaround, am I right?

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

Hi, I’m having same issue when trying to package also with 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 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 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 engine, and manually deleted all remaining files / folders in Users/AppData, ProgramData/, etc…

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

I have exact same problem.

Hope this helps :slight_smile:

Hi Zoubi,

We have a suspicion this might be a launcher issue so you made 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][1] while you’re waiting. Maybe something will help :slight_smile:

Thank you for your patience.

[1]:

Hello,

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

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

Good luck finding issue

I have same problem. I tried to create a plugin with a new AnimGraph node, but can’t build it outside of Editor with same messages. node needs 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 animnode, and an editor plugin that contains AnimGraphNode needed for editor as explained here :

That way 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 PublicDependencyModuleNames and PrivateDependencyModuleNames arrays

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

FYI, here are my build files, for game:

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

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

and 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 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: