반응형
버전은 일반적으로 위와 같이 "(Major 버전 번호).(Minor 버전 번호).(Patch 버전 번호)" 규칙으로 표기합니다.
유니티에서는 이 버전을 "Edit - Project Settings - Player - Version" 루트를 통해 수동으로 관리합니다.
하지만 버전업 할 때마다 이 루트를 통해 직접 수정해주게 되면 번거롭기 때문에, 자동으로 업데이트되게 하려 합니다.
Editor에 버전과 관련된 스크립트를 작성해 아래와 같이 4가지 기능을 추가할 겁니다.
1. Auto Increase Build Version : 빌드할 때마다 자동으로 패치 버전이 올라가게 설정
2. Check Current Version : 현재 버전 체크
3. Increase Major Version : Major 버전 업
4. Increase Minor Version : Minor 버전 업
1. Auto Increase Build Version
체크해두면 빌드한 후에 자동으로 패치 버전이 올라가는 메뉴입니다.
MenuItem 은 에디터 메뉴에 등록해주는 키워드입니다.
[MenuItem(AutoIncreaseMenuName, false, 1)]
private static void SetAutoIncrease()
{
AutoIncrease = !AutoIncrease;
EditorPrefs.SetBool(AutoIncreaseMenuName, AutoIncrease);
Debug.Log("Auto Increase : " + AutoIncrease);
}
[MenuItem(AutoIncreaseMenuName, true)]
private static bool SetAutoIncreaseValidate()
{
Menu.SetChecked(AutoIncreaseMenuName, AutoIncrease);
return true;
}
2. Check Current Version
콘솔창에 현재 버전을 체크해주는 메뉴입니다.
[MenuItem("Build/Check Current Version", false, 2)]
private static void CheckCurrentVersion()
{
Debug.Log("Build v" + PlayerSettings.bundleVersion +
" (" + PlayerSettings.Android.bundleVersionCode + ")"); //현재 버전 표시
}
3. Increase Major Version
Major 버전을 올려주는 메뉴입니다.
static void EditVersion(int majorIncr, int minorIncr, int buildIncr)
{
string[] lines = PlayerSettings.bundleVersion.Split('.');
int MajorVersion = int.Parse(lines[0]) + majorIncr;
int MinorVersion = int.Parse(lines[1]) + minorIncr;
int Build = int.Parse(lines[2]) + buildIncr;
PlayerSettings.bundleVersion = MajorVersion.ToString("0") + "." +
MinorVersion.ToString("0") + "." +
Build.ToString("0");
PlayerSettings.Android.bundleVersionCode =
MajorVersion * 10000 + MinorVersion * 1000 + Build;
CheckCurrentVersion();
}
[MenuItem("Build/Increase Major Version", false, 51)]
private static void IncreaseMajor()
{
string[] lines = PlayerSettings.bundleVersion.Split('.');
EditVersion(1, -int.Parse(lines[1]), -int.Parse(lines[2]));
}
4. Increase Minor Version
Minor 버전을 올려주는 메뉴입니다.
[MenuItem("Build/Increase Minor Version", false, 52)]
private static void IncreaseMinor()
{
string[] lines = PlayerSettings.bundleVersion.Split('.');
EditVersion(0, 1, -int.Parse(lines[2]));
}
* 참조 사이트 : 두야님 블로그
* Version_Manager 전체 코드 있는 깃허브
반응형
'[Unity] > [Unity]' 카테고리의 다른 글
[Unity] Button onClick 이벤트 연결 방법(feat. AddListener()) (0) | 2022.02.13 |
---|---|
[Unity] IComparer, IComparable 인터페이스 (0) | 2022.02.10 |
[Unity] Shader(셰이더)와 Rendering Pipeline(렌더링 파이프라인) (0) | 2021.12.16 |
[Unity] 웹사이트 URL 연결하는 법(feat. Application.OpenURL) (1) | 2021.10.03 |
[Unity] Unable to find java in the system path 오류 해결 방법 (0) | 2021.09.26 |