Procedural 3D Levels - optimisation tips and help?

Hello!
I am planning to make a 3d low-poly shooter with procedurally generated levels.
The system is simple, working in two steps:

  1. Instantiate randomly chosen Level from the Levels Array (like “Forrest”, “castle”, “countryside”).
  2. Vista Spawners, located by hand in the important places of each Level, instantiate randomly selected Interest Points (like Towers, houses, biggest trees, camps etc.)

The problem is optimization. To make the levels look pretty, I’d need to use ambient occlusion and a some lightsources (lampposts, campfires, etc.). My basic approach would be to simply bake the stuff into a lightmap and forget about it. But it’s Procedural, so it will be difficult to achieve.

I could make everything Realtime, but I am affraid it will kill the framerate on older machines.

So my question is:
What can I do to make the 3D procedural levels with randomly placed lights look nice and ambiently occluded without sacrificing framerate?

It looks like “light probes” are what you want to use, though I have yet to try them out myself. https://unity3d.com/learn/tutorials/modules/beginner/graphics/lighting-and-rendering

The docs suggest using these for optimizing lighting computations on moving objects, but I see no reason this would not also work with your dynamic mesh.

Another option, not nearly as easy, would be to compute the lighting manually, during creation-time, as a second pass. Compute the color/brightness-adjusted “lit” texture, and assign these new textures to your dynamic mesh objects.