Been messing with this over the weekend, the terrain is just simple perlin stuff atm but the texturing and object placement are rule-based. Eg, render grass everywhere, render sand below 10m and on less than 30 degree slopes, render cliffs over 45 degree angles. The objects work the same way, so I can set trees up to only be placed on grass, etc. There's one root controller that handles spawning all the terrain tiles. Everything is deterministic so I can safely unload or reload tiles whenever I need to, to save a little bit of performance. The main thing is working within the hardware constraints, just using default Unity assets for now, nothing designed for mobile. Runs at 30 to 60FPS on my iPad so far, and the terrain loading is mostly asynchronous. Splatmap setting still causes a bit of a stall for ~1s.