I believe backward-compatible is a most important issue other than the other facts in software development. Especially, you guys are developing a common game engine.
Have you ever thought about backward-compatible before remove/modify any function in the new version?
Supposed we develop a game based on old version, then we upgrade to 2.x version, it is found that many many code should be updated and adapted before the game could be executed successfully.
Some code in our game we even designed for further usage in the other games on plan, but now, we have to re-write them based on 2.x.
This is very very bad user experience