StartupModule( ) not getting called

It’s my first contribution : payback time !! I’m very proud :slight_smile:
The topic is old and probably solved for WHAMMY but it may help someone in the futur.

I ran into the same issue yesterday.
I do not pretend to understand why but, obviously, my module were started up by the IHM when the project was loaded. So only once.
Therefore, the UE_LOG macros I put into StartupModule appears only 1 time, lost into the long list of the initial log messages.

I first made the checks based on the KAMRANN suggestion : I was correct.
I then tried to solve the problem with :

  • deleting the “LoadingPhase” : “PreDefault” item into the uplugin file
  • changing the “Type” : “Developer” by “Type” : “Runtime”
    I didn’t worked either in my case.

Conclusion : if you have this problem, it may not have a solution. I mean it is perhaps not possible to have the StartupModule() function called each time you press PLAY.
But it is not a big issue when you accept this fact.
In my case :

  • I put the piece of code I needed my module to run at PLAYTIME into a “OnBeginPlay()” play function.
  • I created an hidden actor into the scene which call myModule::Get().OnBeginPlay() into his BeginPlay function.

It is not very pretty but it is a way when you have not yet (as I’m) a full understanding of UE4 and don’t have much time.

I hope it will help.

PS : the hidden actor way allows as well to put a tick() function into your module.

2 Likes