Most of the time when a Niagara system doesn’t work until you open it in the editor, it is caused by unintentional attribute trimming. There can be other reasons why it won’t work correctly in a packaged game (plugin load order, uncooked dependencies, etc), but if you put it in a level and restart the editor and it won’t play until you open the asset itself then you should try to disable these settings in your system properties:
trim attributes
bake rapid iteration parameters
If that fixes it, you can either leave them off (only downside a a bit of a performance and memory hit), or you can try and hunt down the missing attribute and add it to the explicit include list. The attribute trimmer cuts out everything not directly referenced by a renderer, but sometimes when using things like particle attribute readers, things can slip through the cracks.
The reason why it works when you open the asset is because as longs as it’s open, it will be compiled in “editor mode”, which skips things like attribute trimming by default to allow faster iteration.