[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

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

A summary of my code compatibilities:

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