Large levels
With recent improvements, it's now possible to generate levels that are relatively large.
If you want to generate large levels, make sure the Toggle Colliders
property is enabled on the generator, otherwise the performance might be really bad. This property was not enabled by default in older versions of the asset.
Pick a suitable generator
Not all generators are suitable for generating large levels. There are 2 main concerns: performance and level quality (whether a large level looks good or not). Let's go through the properties of individual generators.
Generator | Performance | Quality | Summary |
---|---|---|---|
Noise generator | ✅ Good | ✅ Looks good | ✅ Easy to use |
Walker generator | ⚠️ It depends | ❌ Degrades easily | ⚠️ Challenging to use |
Noise generator

The Noise generator is a great choice for generating large levels as it provides good performance and many configurable options to customize the look of generated levels. At the very least, it is recommended to play with the Wavelength
property on noise objects to quickly control the generated terrain changes.
You can find approximate performance metrics for the Noise generator below. The generator was evaluated in the editor, so the performance might be better in a final build. Note that there are many factors that might affect the performance, so your mileage may vary.
- 100x100 tiles - 0.6s
- 200x200 tiles - 1.9s
- 500x500 tiles - 14s
Walker generator

The Walker generator might be quite challenging to setup for generating large levels. The main idea of the algorithm is that we perform a random walker over the grid until we have a level of a specified size. The issue with this approach combined with large levels is that there is no global guidance for this random walk. That means that the walker can spend a lot of time in some areas of the level while not exploring other areas that much. As a result, large levels generated with this algorithm might not look that great.
The quality of the result can be tweaked by changing the configuration of the algorithm but that might come with a cost of a decreased performance. For some configurations, the algorithm can get indefinitely stuck in a single area of a level, never being able to fill the whole grid.
What affects the overall performance?
Theme engine
I generated a 500x500 level using the Noise generator and it took 12.45s. Out of that, it took 2.75s to generate the layout and 8.88s to apply the theme. That means that no matter which generator we use, a significant chunk of resources will be spent on running the theme engine. We can also observe that the performance of the Noise generator (without theme engine) is quite good because it takes less than 25% of the overall runtime.
Beware of colliders
There is one scenario where colliders can absolutely tank the performance of the generator for large levels. If a level is generated over multiple frames, Unity will try to recompute colliders as new tiles are being generated, which is the worst thing performance-wise. Therefore, there is a feature in the generator where all colliders are turned off before the Theme is applied and they are enabled again after the whole level is generated. This feature is toggled with the Toggle Colliders checkbox in the generator inspector, so make sure to have that enabled.
Caveats
Level container inspector
If you generate a large level and click on the Generated level object, your editor might freeze for a while. That is because the whole level data structure is stored inside the Level container component and the editor tries to serialize and deserialize it very often in the editor, leading to degraded performance.