# InitializeModule function was not found on UE4.15

**URL:** <https://forums.unrealengine.com/t/initializemodule-function-was-not-found-on-ue4-15/393987>\
**Category:** Plugins\
**Tags:** engine-compile, crash-on-launch, initialize, unreal-engine, module, Plugins, question\
**Created:** [May 18, 2017, 9:34pm UTC](https://forums.unrealengine.com/t/initializemodule-function-was-not-found-on-ue4-15/393987 "2017-05-18T21:34:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fayre333](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Fayre333](https://forums.unrealengine.com/u/Fayre333)\
**Post date:** [May 18, 2017, 9:34pm UTC](https://forums.unrealengine.com/t/initializemodule-function-was-not-found-on-ue4-15/393987/1 "2017-05-18T21:34:48Z")

</div>

Hey there,  
I have a plugin that works fine with UE4.12.  
When I compile it via Visual Studio with UE4.15 selected, I don’t get any compiling errors, but when I start the UE Project the following window appears:

![138407-eyetrackingpluginerror.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/a/7/9/a79b4b023908b103438e80cd9c3d56bb6f764a9a.jpeg)

When I press “OK” the Engine crashes and in the project crash log file I can find the following error:

> LogModuleManager:Warning:  
> ModuleManager: Unable to load module  
> ‘C:/Users/Caro/Documents/Uni/Bachelorarbeit/EyetrackingPluginTest4\_15/clfvr.ue\_assets\_and\_plugins/Template4\_12/Plugins/EyeTracking/Binaries/Win64/UE4Editor-EyeTrackingPlugin.dll’  
> because InitializeModule function was  
> not found.

Where should this function be, so I could create it? Or is the error missleading and something else is wrong?

Thanks for your help

---

<div class="post-metadata">

**Author:** ![Fayre333](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Fayre333](https://forums.unrealengine.com/u/Fayre333)\
**Post date:** [May 19, 2017, 3:41pm UTC](https://forums.unrealengine.com/t/initializemodule-function-was-not-found-on-ue4-15/393987/2 "2017-05-19T15:41:34Z")

</div>

Ok I’m not completely sure but I think I got the answer:

You need a constructor for your UCLASS with ObjectInitializer and additionally a class FMyPluginModule.h and FMyPluginModule.cpp that inherits from IModuleInterface and overrides the methods StartupModule() and ShutdownModule().

I just created a new plugin and copied all the code from the old one into the new one, so I did not had to worry about the new structure a lot.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_423ac3d8](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_423ac3d8](https://forums.unrealengine.com/u/anonymous_user_423ac3d8)\
**Post date:** [October 4, 2018, 12:27am UTC](https://forums.unrealengine.com/t/initializemodule-function-was-not-found-on-ue4-15/393987/3 "2018-10-04T00:27:39Z")

</div>

There’s a macro defined in **Engine\Source\Runtime\Core\Public\Modules\ModuleManager.h** called **IMPLEMENT\_MODULE** which implements the InitializeModule function. See the example plugins (BlankPlugin and  
UObjectPlugin) for examples of its use.
