When is the IPlacementModeModule Loaded?

Hi,
I have created an Editor Module and I want to access IPlacementModeModule Functions in order to Register Category into Place Actors tab.

problem is the IPlacementModeModule::IsAvailable() is never true it seems that my module is loading before PlacementMode. I have Tried changing the laoding phase to PostEngineInit and PostDefault but the PlacementModeModule is still not loaded at the time of My Module’s Startup call.

Solved: Use PostEngineInit Loading Phase and manually Load the PlacementMode Module using ModuleManager In the Startup function.

1 Like

Hi, thank you for your solution, it worked!
I would like to share the code for others who may be struggling with the same problem as us.

//.h
void OnPostEngineInit();

//.cpp
void FYourModule::StartupModule()
{
 FCoreDelegates::OnPostEngineInit.AddRaw(this, &FYourModule::OnPostEngineInit);
}
void FYourModule::ShutdownModule()
{
FCoreDelegates::OnPostEngineInit.RemoveAll(this);
}
3 Likes

This setup works for a 5.3 project but fails for a 5.4.4 project.
In 5.4 when the OnPostEngineInit gets executed, IPlacementModeModule::IsAvailable() always yields false. Has something changed in 5.4 on this part?

[edit] Wow I did find an easy fix: just don’t check IPlacementModeModule::IsAvailable() and do your stuff…