LoadLevelAdditive not loading Lightprobes or NavMesh (bug or by design)?

I can understand LoadLevelAdditive not being able to merge NavMesh or Lightprobes unlike it can with Lightmaps but what I don’t get is why the incoming NavMesh or Lightprobe solution from the level being loaded additively doesn’t show up. I would have expected the incoming Lightprobes, Navmesh or LOD to simply override / replace the existing ones.

So is this a bug or am I missing something here?

This is by design, currently with Light probes there is no module that does tetrahedralization at runtime and ideally you want to retetrahedralize the light probes from the old level along with the new one.

I’m sure there is a similar explanation for NavMesh, I’m not sure though.

This is something we are aware off and will work on in the future.

Thanks,
Chris

One thing that would be nice to consider with Lightprobes and even a Navmesh, is giving us the ability to manually change / offset Lightprobes.positions and something similar for a Navmesh.

In cases where you are trying to tile things (like rooms for instance where the position of the lights, objects all remain relative to each other) and you are just trying to offset their positions as a whole, it should be fairly simple to implement (at least with probes). If it wasn’t that Lightprobes.position is read-only offsetting all of their positions to match where the room is instantiated, it would work.

Hopefully what I describe makes sense to you. In these cases, you would not need to bake a new mesh or recalculate coefficients since everything remains in the same relative position to each other.

P.S. I forgot, in the case of NavMesh, we would also need the ability to assign NavMesh to agents much like we can already assign lightmaps or lightprobes to renderers. With these features, we could steam-in the new tiles, offset the probes position to where the tile will be instantiated. Offset the NavMesh again to match where the whole tile is placed. Assign the new Lightprobes and NavMesh to be used by the renderers and NavMeshAgents as these agents would cross from tile to tile.