[WIP] NG Unity Versioner: Instantly check your code against any Unity version!

Hi folks!

I had an idea few days ago related to Unity API versioning.

What if you had a tool allowing you to instantly check your code compatibility against any version of Unity?

Sabresaurus did an awesome job providing a database to our community:
https://sabresaurus.com/unity-api-versioner/

But instead of just checking one API at a time, why not checking all references to Unity at once?

I present to you my prototype NG Unity Versioner
5293305--533202--upload_2019-12-21_19-13-36.png

Here is the result when you check compatibility of my code in the namespace "NGT" against 2020.1.0a16

5293305--533193--upload_2019-12-21_18-57-57.png

A summary of my code compatibilities:

5293305--533208--upload_2019-12-21_19-36-9.png

Steps A:

  • Open Window > NG Unity Versioner
  • Write your target namespace

  • Select the versions (in Assembly Meta Versions or Unity Install Paths)

  • Click on "Check Compatibilities"

If you would like to check against a Unity version not available but installed locally in your computer.
Steps B:

  • Open Window > NG Unity Versioner
  • Click on Installs (on the right of Unity Install Paths)

  • Add path to a folder containing Unity installs (i.e. "C:/Program Files")

  • Do Steps A.

How to install:
Via git repository:
https://github.com/Mikilo/ng-unity-versioner

Via Package Manager (using "Add package from git URL..." ):
https://github.com/Mikilo/ng-unity-versioner.git

Via manifest.json:
{
"dependencies": {
"com.mikilo.ng-unity-versioner": "https://github.com/Mikilo/ng-unity-versioner.git"
}
}

Any feedback is welcome!

26 Likes

Replaced the files with a git repository.

Enjoy :smile:

1 Like

Updated with code & UI improvements.

Updated with compatibility now checking from Unity 3.4.

[0.3.4] - 2020-01-15
Added
- Context to an exception when loading a meta.
- Meta versions of Unity 2017.4.36f1, 2018.4.15f1, 2019.3.0f5, 2020.1.0a18.

1 Like

[0.3.5] - 2020-01-28
Added
- Type search. (You can now search a specific Type, like Sabresaurus did)
- Meta versions of Unity 2018.4.16f1, 2019.2.18f1, 2019.2.19f1, 2020.1.0a19, 2020.1.0a20.

[0.4.0] - 2020-03-11
Added
- Meta versions of Unity:
2017.4.37f1,
2018.4.17f1, 2018.4.18f1,
2019.2.20f1, 2019.2.21f1,
2019.3.0f6, 2019.3.1f1, 2019.3.2f1, 2019.3.3f1, 2019.3.4f1,
2020.1.0a21, 2020.1.0a22, 2020.1.0a23, 2020.1.0a24, 2020.1.0a25,
2020.1.0b1.

Changed
- Meta versions merged into one single file. (Loading time tremendously faster and file insanely reduced)
- Type search has its own cache database.
- Type search provides more details and options.
- UI/UX greatly improved.

1 Like
`interpolated strings' cannot be used because it is not part of the C# 4.0 language specification

switching to dotnet 4.6 removes the error but launching ng versioner crashes unity.

Can you provide me any log about the crash?

[0.4.1] - 2020-04-20
Added
- Meta versions of Unity:
2017.4.38f1, 2017.4.39f1,
2018.4.19f1, 2018.4.20f1, 2018.4.21f1,
2019.3.5f1, 2019.3.6f1, 2019.3.7f1, 2019.3.8f1, 2019.3.9f1, 2019.3.10f1,
2020.1.0b2, 2020.1.0b3, 2020.1.0b4, 2020.1.0b5,
2020.2.0a7.

Changed
- Target framework .NET 3.5.

1 Like