I have 4x6 World Partition world with 2x2 km cells and some functionality in my game is critical to loading the actual number of actors on the proper cells (of course, only 9 cells are loaded, on the edge cell - even 6, not the whole world). Here is the logic how the game waits this loading:
But this macro takes a very long time, in my relatively fast computer - several minutes.
@ClockworkOcean @Everynone, which can be the problem, at least what to start check from?
EDIT: at first, I thought that the problem was in the heat, but when I directed a powerful fan right to the GPU, the loading time did not reduce. Does this mean that the heat is not the root of the problem?
1 Like
Sorry, I have no idea what is happening there 
Maybe lay it out in a more obvious way, then you might see a problem?
Hello @ClockworkOcean! Has now become fewer spaghetti?
But I doubt that the problem is in this macro. I think some actors brake the loading of the game world via the huge loops in the BeginPlay. Is it credible?
1 Like
Thanks for un-spaghetti-fi-ing a bit 
But I still donât get it. It looks like youâre loading 3 things? ( there are 3 bools ), but if itâs not all loaded, you wait a second, then mark the bools as false again?
Can you explain what this macro is supposed to do? How itâs supposed to work?
It checks if there are loaded three key actors (they serve as markers of loading the world). If they arenât, the macro checks the same after a second of delay, then again and again with a second interval. But it is NOT actually loading the actors. I have accelerated loading the actors by near 9% via merging some actors. Is this not an illusion since those actors did NOT have logic and were just the static meshes. Can the reducing of the number of the actors actually accelerate the world loading if the quantity of the triangles and the logic remains the same? Or is this just a fluctuation?
1 Like
OK, with you.
I assume thereâs only a small number of grid actors, but a large number of âgeneralâ actors.
I would change that âget all actors of class( actor )â, and give it a specific class to look for. Something that there is, ideally, only one of in each level.
âGet all actorsâ is well know for slowing everything down. But if you specify a class, the system uses a hash, and can find them immediately.
What means âgrid actorsâ and ââgeneralâ actorsâ?
I donât think this will change the situation significantly, because âGetAllActorsOfClassâ checks all the actors in the world regardless of the specified class.
1 Like
This difference
Thatâs the point, it doesnât, if you specify a class.
But how do you imagine getting the actors of the specified class without checking all the actors? Does the engine store the maps âclass - actors listâ? Or is there some other way?
1 Like
If you look at the source code, part of the level data is a hashed list of actor types. Its like an index for actor types.
Try it 