What is the difference between IMPLEMENT_MODULE and IMPLEMENT_GAME_MODULE

#define IMPLEMENT_GAME_MODULE( ModuleImplClass, ModuleName )
IMPLEMENT_MODULE( ModuleImplClass, ModuleName )
The comment said IMPLEMENT_GAME_MODULE is used for modules that contain game classes.
What are game classes? Does it effect hot reload or loading phase?

1 Like

When you are making a plugin which you intend to distribute, either internally or to other developers, you would put your functionality in a plugin module and use IMPLEMENT_MODULE.

When you are making a game project, you can split up your game into separate modules. When you do this your secondary modules would be declared with IMPLEMENT_GAME_MODULE. Now, looking at the generated code you can see that under the hood, IMPLEMENT_GAME_MODULE just expands to be IMPLEMENT_MODULE. However, by using a different token UBT is able to pick up on the difference when it is processing your project.

1 Like