Why Unity mark things deprecated so often

There are so many things marked deprecated in Unity.
Some deprecated features need a lot of work to migrate to new implementation, and some features have different behavior in the alternative solution.
I’d like to know, if we already used a feature, but it is marked deprecated now, is there any risk if we do not change our code.
Thanks

I would assume that the risks are that it may not be supported in a future version of Unity.

Sometimes, even with my own code, I find that progress is made when letting go of code that really doesn’t cut it any more. A new implementation of the code may allow easier management of overall code or does the job more efficiently than the previous incarnation.

Thus the old code becomes deprecated.

2 Likes

Since 4.6 onwards Unity Technologies is making a concerted effort to refractor the engine to more modern standards. This means that some things done poorly in previous versions have to be broken. As a positive upgrades should be much faster.

Ah, you know that’s not gonna happen. New technology will come out, will get adopted, and the cycle starts all over again. :wink:

There will always be new tech. But a major break like between the 4.x and 5.x can probably be avoided. That was the result of an architecture change, not a tech change.

Yes. Code that is using deprecated features may cease running at some point when those features are finally removed from the engine. Keep in mind though just because they are updating the engine doesn’t mean you have to keep moving your project to newer releases. Many people will hold a project on an older release unless they have no other choice.

2 Likes