I’ve my application that consists of severel blueprint functions in a plug-in up and running in the editor. Debugging using breakpoints and stepping through the code works as expected.
The plug-in is declared as Type Runtime in the uplugin file.
Whenever I try to run the app without the editor using either DebugGame, Development or Shipping the blueprint function of my plug-in that is attached right to the BeginPlay event is never run.
The plug-in itself is being loaded, I confirmed it via the log files and also put some UE_LOG statements into the StartupModule() function and the class initializer function. But nothing else.
I tried it even with a very simple project and the Sample Function that’s being created in every Blueprint Library but it doesn’t get fired.
I’m puzzled and must be missing something very basic.
Does your plugin use any editor specific code? Do you use the UnrealEd module in it?
If you have editor only specific code it is discarded during the pack process.
While this all works, if I simply change the config to Development and now run a debug session without the editor, the plug-in obviously get’s loaded because the StartupModule() function is run. Even the initialization takes places which is in the same file as the actual function, but the blueprint function never gets fired, so the breakpoint never gets hit.
Your project worked fine. After I added another function, simply duplicated yours and put the corresponding blueprint node into the bp, the new function was never hit.
It was then that I realised that if I wanted to use the blueprint in a game, I had to at least cook the content before debugging. After I’d done that it worked.