How to make the blueprint subclass that inherits from localplayersubsystem usable after packaging?

Hello everyone, I have created a class that inherits from localplayerSubsystem and added an initialization event to its blueprint subclass. But the initialization event is only triggered in PIE mode and will not be triggered after packaging. Is there any way to solve it? I plan to create and manage the UI for local game players :joy:

There is no good solution for any of the subsystems to have blueprint subclasses. They’re just generally unsupported by default. If you want to subclass subsystems you have to move to C++, even if that’s just to make a shim that spawns an actor during subsystem init so that you can do the rest of the logic from blueprint.

You’d probably find that if you started up your game in PIE without having opened your subsystem blueprint in that Editor session, the initialization function wouldn’t work in PIE either.

My final solution was to first implement Settings and modify the Module to set LocalPlayerSubsystem in the project settings. Load and register all declared blueprint types of LocalPlayerSubsystem through him. Then generate LocalPlayerSubsystems through a worldsubsystem. This can also be done after packaging.

Enable subsystem in project settings before packaging :grinning_face: