この記事でのバージョン
Unity 6000.0.34f1
はじめに
ゲームのバージョンの表記は"1.1"や"1.0.1"など、ドット区切りで表記することが多いですが、
今回はそのバージョンの新旧を比較する簡単な方法の紹介です!
![]() |
なお、Unityでの使用を想定しているためDebugを使っています。
ちなみにUnityのプロジェクトのバージョンはUnityEditor.PlayerSettings.bundleVersionで取得できますが、
エディタでしか確認出来ないので、ゲーム中に使いたい場合は定数かつ自動更新にしておくと便利です。
バージョンの新旧を比較する簡単な方法
今回、バージョンの比較にはC#(.NET)のSystem.Versionというクラスを使います。
以下のようにバージョンの文字列を渡して生成すると、各桁を分割してくれます。
(4桁まで対応、設定されていない所は-1になる)
var version = new System.Version("1.2.0"); Debug.Log($"{version}は、Major:{version.Major}, Minor:{version.Minor}, Build:{version.Build}, Revision:{version.Revision}");
![]() |
さらにそのまま新旧の比較(新しいほうが数字が大きい)も出来ます。
var versionText1 = "1.0.9"; var versionText2 = "1.2.0"; var version1 = new System.Version(versionText1); var version2 = new System.Version(versionText2); if (version2 > version1) { Debug.Log($"{versionText1}と{versionText2}を比較した結果、{versionText2}の方が新しい"); } else if (version2 < version1) { Debug.Log($"{versionText1}と{versionText2}を比較した結果、{versionText1}の方が新しい"); } else { Debug.Log($"{versionText1}と{versionText2}を比較した結果、同じバージョン"); }
![]() |
なお1.0.9と1.1のように桁が違っても比較は可能ですが、
![]() |
1.1と1.1.0のように桁以外は同じの場合は桁が多いほうが新しい(大きい)判定になります。
![]() |




