Terrain editing in runtime

Actually almost all of the code you need to dynamically create landscapes and edit them is in Runtime code, but some of it is not fully initialized unless you are running the editor. The files you want to be looking at are LandscapeEdit, LandscapeDataAccess, LandscapeInfo, LandscapeProxy, Landscape and LandscapeComponent. These have pretty much everything you need to be able to create new landscapes, edit heights, update collision and change materials, and they’re all in Runtime code. An example of a problem you’ll run into right now though, is a large number of useful functions in those classes are decorated with “#if WITH_EDITOR”. For example the ALandscapeProxy::Import() function is very useful for creating a new landscape out of some initial raw height data and materials, but it’s compiled out in the game unless you go and modify that source code and recompile the engine.