AsyncLoadClassAsset very slow

I have BPs which I place in game dynamically. Until now I used an array with hard pointers to reference them and load them with an ID but I understand this loads all BPs at program start which made the startup rather slow.

I finally managed to wrap my head around the loading system a bit (I am using BP only, no C++) and figured out that I have to use a Bluep[rint Soft Class REference to store the soft ptrs to my BPs in an array so that they are not actually loaded at startup and then use AsyncLoadClassAsset to actually turn that soft reference into a hard class that is loaded and then SpawnActor with that class reference to create the BP in game.

Howev3er AsyncLoadClassAsset is very slow the first time after my application starts. A BP that references a simple block from the Standard Unreal asset library took 16 seconds to report it as loaded. When I run the program after that it’s loaded quickly, I assume the Unreal editor holds the BP class loaded in memory. During that time the whole game is frozen, nothing goes.

this is rather unacceptable. I understand that sync loading is slower in PIE than in the packaged game, but even when packaged there is still a noteable delay of a few seconds for the loading.

I am probably doing something wrong? But why is it a simple BP with a simple block mesh takes so long? What can I do?

Thanks