Rhynedahll
(Rhynedahll)
January 11, 2017, 8:17pm
12
This seems to work best for my situation:
Create C++ base game instance with BlueprintImplementableEvent that gets called PreLoadMap and PostLoadMap
In Blueprints PreLoadMap creates UMG loading widget and adds to viewport.
In Blueprints PostLoadMap loading widget is added to viewport again. (needs to be added again as this is now the default playercontroller created on joining a session)
UMG added to viewport during PostLoadMap will now persist until I decide to close it, or fade out.
I wanted a more global solution, not something per level, so I did not try and handle any of this on the LevelBlueprint.
I am sure streaming would work for this, but I think streaming will serve other purposes for me and I like the separation of certain items in their own persistent map.
@Rhynedahll I think a solution like this would also resolve your issue. Or as eXi said BeginPlay of the LevelBlueprint could work too, but I never tried that. The PlayerController also has a ReceivedPlayer event that appears to get called very early, that might be something to look into too.
Your solution looks interesting. For now, we’re trying to implement Nick Darnell’s loading screen plugin, but are encountering difficulty compiling it with 4.14.3.
C++ appears to be the best place for us to solve our issue. We simply have to get something working.