Having elaborated on the above, I’ll also add that I am building pawn handling into the Loading Screen System (so that it becomes more of a “Level Transition Suite”).
There will be designated portal actors that can be placed around and be easily configured to init a level transition while also determining where the pawn will be placed in the new level (e.g. at Door A vs. Door B of a hallway, depending on which direction the player is coming from).
The system will be both able to spawn a new character (based on the GameMode settings, even in sublevels) as well as to keep the currently possessed pawn alive throughout transitions. Everything configurable with a few checkboxes.
The replication aspect is almost finished. To be honest, I was certain to have it ready at this point, but simply got sidetracked with a couple of other requests and features (Loading Progress, VR, Pawn Handling).
I am finishing up v1.04 containing the aforementioned Pawn Handling features (full control over spawn location and pawn type, Actor Pool to keep the pawn alive between transitions, a new transition/portal actor for easy overrides, and ultimately moved the system from a pure level-name driven approach to per level settings, though in a non destructive way - everything up to this point will still work as it did). These features will also be crucial for Multiplayer as well, as placing pawns in the levels wouldn’t be an option anymore.
I expect to submit in a few days and then I am back to Multiplayer.
I will give a further time estimate as soon as I can.
As it contains everything else from the asset I can give access only to verified customers.
But you could email me or PM with some specifics about your particular MP setup, to make sure it is being covered.
This update adds a Pawn Handling feature that provides:
★ Full control over Spawn Location and Pawn Type in Streaming Levels,
★ An Actor Pool to keep the active Pawn alive between (and during) Level Transitions
★ Per level settings for all preferences
★ A new Transition Actor - “portal” with settings and overrides for the most convenience
★ “Content Examples”-style demo map (there’s now 15 of those included).
Hey , this looks great! I was just wondering if/how it effects performance. Previously when I have messed about with streaming levels, I found that the root level took longer to load than usual. Now this might be because I did something wrong but it seemed to be because it was pre-loading some elements of the streamed levels.
So question is, if I have 10 stream levels going into my root level, when I boot the game up will it take longer than if I just loaded up one empty level on its own?
Oh, that’s an interesting question.
In general, there shouldn’t be any *significant *overhead, where an empty level would load faster than a root level containing (unloaded) sublevels.
I ran a test switching between one such empty level and one containing all of the level assets in the project (49 sublevels), measuring the time by saving a DateTime value to the Game Instance on OpenLevel and printing the time difference in BeginPlay of the loaded level.
I didn’t notice any discrepancy at all in PIE, Standalone nor Packaged (with and without Nativization) between those two levels.
Results for both levels:
Packaged build: 40-60ms
PIE: 65-85ms
Standalone Mode: 270-360ms
In conclusion: it shouldn’t be of any significance how many sublevels are added to a root level, as long as those sublevels aren’t set to be initially loaded.
Seems like my Navmesh stops working after my levels load. My AI is all bunched up together. What am I doing wrong? I have all my levels hidden except for the Persistent and Main level. All the other levels that load, the AI is not moving around