You’re right that a lot of Terms of Service documents and similar agreement documents have language that reserves the right to modify those terms.
At the same time just because something is in the terms doesn’t mean it can stand the test of adjudication and terms as well as changes are often challenged in court with success.
Unity is in a particular tricky situation because the clause that governed modifications in their last ToS explicitly gives the user the option to pass on modifications that adversely affects them and stick with the old terms:
Unity may update these Unity Software Additional Terms at any time for any reason and without notice (the “Updated Terms”) and those Updated Terms will apply to the most recent current-year version of the Unity Software, provided that, if the Updated Terms adversely impact your rights, you may elect to continue to use any current-year versions of the Unity Software (e.g., 2018.x and 2018.y and any Long Term Supported (LTS) versions for that current-year release) according to the terms that applied just prior to the Updated Terms (the “Prior Terms”). The Updated Terms will then not apply to your use of those current-year versions unless and until you update to a subsequent year version of the Unity Software (e.g. from 2019.4 to 2020.1). If material modifications are made to these Terms, Unity will endeavor to notify you of the modification. If a modification is required to comply with applicable law, the modification will apply notwithstanding this section. Except as explicitly set forth in this paragraph, your use of any new version or release of the Unity Software will be subject to the Updated Terms applicable to that release or version. You understand that it is your responsibility to maintain complete records establishing your entitlement to Prior Terms.
I agree that it seems like a problematic part.
That said… even if devs are allowed to stay using that version, for a lot of devs is not practical, so the end result is basically the same, they cannot afford to stay on the old version and would need to pay to continue using it.
Except for old games not being updated or similar that they don’t need updates to the tools/engine.
You’re right that a lot of Terms of Service documents and similar agreement documents have language that reserves the right to modify those terms.
At the same time just because something is in the terms doesn’t mean it can stand the test of adjudication and terms as well as changes are often challenged in court with success.
Unity is in a particular tricky situation because the clause that governed modifications in their last ToS explicitly gives the user the option to pass on modifications that adversely affects them and stick with the old terms:
https://web.archive.org/web/20201111183311/https://github.com/Unity-Technologies/TermsOfService/blob/master/Unity Software Additional Terms.md
I agree that it seems like a problematic part. That said… even if devs are allowed to stay using that version, for a lot of devs is not practical, so the end result is basically the same, they cannot afford to stay on the old version and would need to pay to continue using it.
Except for old games not being updated or similar that they don’t need updates to the tools/engine.