The day has come! Old (non-smooth) terrain is officially deprecated and is scheduled for removal January 1st 2017.
Why?
Since the release of smooth terrain we’ve been 100% focused on driving the technology forward. At this point it’s superior in every way (memory; performance; behavior; look’n’feel) to the old terrain.
The developer adoption has been phenomenal as well - at this point places that use smooth terrain/water are played ~8x more than places that use old terrain/water.
Maintaining and supporting old terrain comes at a cost to us as well as the users. For us there’s extra effort in testing changes to make sure they don’t break old terrain, working with physics/networking/rendering code that supports it, and sometimes refactoring or optimization is made much harder by the presence of old terrain. For players there’s the extra overhead in downloading old terrain assets, compiling old terrain shaders, etc. For Studio there’s some confusion in the behavior of terrain tools - we have to maintain the “Convert To Smooth” flow which is the primary reason why during Studio startup you still see the old terrain toolbar.
Between the maintenance burden and the fact that the technology is both superior and much more widely used, we decided to stop supporting it.
When?
To make sure developers who use old terrain have enough time to update their places, we’re setting the removal date to January 1st 2017 - making sure there’s lots of time to test the place changes and roll them out to all users.
For the 4.5 months left until that point, no behavior or API changes will happen for old terrain.
In Studio, in a week or two we will start displaying a notification message for places that use old terrain to raise the developer awareness (there will also be a blog post). You can dismiss the message of course.
Here’s what happens in January: All games that use old terrain are automatically migrated to smooth terrain. This means that if you don’t update your place, it will still get converted! If you open your place in Studio after January 1st you’ll also see smooth terrain - you can’t go back after that point.
While you can just wait until that point, smooth terrain is not 1-1 compatible - conversion process is imperfect and may require tweaks to terrain and/or parts that interact with terrain - so you’re advised to take it into your own hands and update the games before the date. To start this process, simply open your place in Studio, go to Terrain tab and use Convert To Smooth button.
Technical details
Let’s talk a bit more about what specifically happens after old terrain is removed.
The voxel data of places that haven’t been updated will get converted using the same algorithm we use for Terrain:ConvertToSmooth(). Terrain.IsSmooth will return true, of course.
All TerrainRegion objects will also be converted; if you use them to save maps for your games with old terrain, and you want to update your place before January, you should manually run TerrainRegion:ConvertToSmooth function on the saved objects.
All APIs will continue to work in “compatibility” mode - meaning, deprecated APIs like GetCell/SetCell will work the same way they do now if terrain is smooth. We currently don’t plan to remove any of them (the cost of maintaining those APIs is pretty small).
Since water will be also converted to use the smooth terrain technology, you may see changes in the look or behavior. For example, if you were relying on water flow (setting water force/direction in some voxels), this will not function any more. We may re-introduce support for water flow in a different form in smooth terrain at a later point, but for now this means the water physics behavior may change. Buoyancy will still work of course.
Feedback
… is welcome as always - please post questions/concerns in this thread.