유니티를 통일적으로 전환하는 Unity Setting Switcher를 만들어 보도록 하겠습니다.
Unity Setting Switcher
JSON에서 설정 정보를 정의하고 이를 바탕으로 Unity 설정의 편집기 확장을 전환합니다.
GitHub: https://github.com/uisawara/unity-settingswitcher
예상 효과
이런 설정으로 바꿀 수 있어요.
실험tweetpic.twitter.com/xmCieGJbBy-sa_w_ara△ (@sa_w_ara) December 13, 2019
1단계를 설정합니다.기본
android의develop,production 설정은 전환할 수 있습니다.
flavors/app,viewer와buildtype/develop,production을 설정할 때의 절차 정의
-
필요하기 때문에MiniJSON, 미리import - UnitySettingSwitcher의 unitypackage를 Unity 프로젝트로 가져오기https://github.com/uisawara/unity-settingswitcher/releases
- 메뉴 Windows/UnitySettingSwitcher에서 SettingSwitcher 창 열기(CMD+E에서도 열기)
- /Assets/UnitySettingSwitcher/Mentlates 설정.json과 Setting.android.json을/Asets/부하로 복사
- /Assets/settings.설정을 정의하기 위해 json 편집
/Assets/settings.json
{
"settings": [
{
"name": "flavors/app",
"build_settings": {
"scene_list": [
"Assets/Application/Scenes/MainScene.unity"
]
}
},
{
"name": "flavors/viewer",
"build_settings": {
"scene_list": [
"Assets/Core/ARSceneLayout/Scenes/SceneViewerScene.unity"
]
}
},
{
"name": "buildtype/develop",
"player_settings": {
"applicationIdentifier": "com.example.sampleappdev",
"scripting_define_symbols": "ENV_DEVELOP"
}
},
{
"name": "buildtype/production",
"player_settings": {
"applicationIdentifier": "com.example.sampleapp",
"scripting_define_symbols": "ENV_PRODUCTION"
}
}
]
}
전환 사용 방법 설정
- SettingSwitcher 창 열기(메뉴 창 선택/Unity Setting Switcher 또는 CMD+E)
- Unity Setting Switcher 창 열기
- "reload"단추를 통해 설정 읽기
- 설정 선택, 버튼 클릭 전환 설정
2단계를 설정합니다.android에 keystore 전환 정의
이런 설정을 통해 개발용 키스토어와 발표용 키스토어를 구분할 수 있다p>
- keystore 파일 구성
- Assets/Cert.local/sample.keystore
- 로컬 전용 설정 정의
- keystore 파일 구성
- keystore 설정 정의
/Assets/Settings.local.json
{
"settings": [
{
"name": "android-singing/develop",
"android": {
"keystoreName":"",
"keystorePass":"",
"keyaliasName":"",
"keyaliasPass":""
}
},
{
"name": "android-singing/production",
"android": {
"keystoreName":"Assets/Cert.local/sample.keystore",
"keystorePass":"************",
"keyaliasName":"************",
"keyaliasPass":"************"
}
}
]
}
Git를 위한 설정 추천
사전에gitignore에 다음 설정을 추가하는 것이 좋습니다.
로컬 프로필이commit 범위에 있지 않고 개인 설정이 저장소를 오염시키는 것을 피할 수 있습니다.
(선택 중인 Setting 정보, 로컬에만 유효한 설정 등)
.gitignore
# UnitySettingSwitcher
*.local
*.local.json
*.local.meta
*.local.json.meta
사양 설정
설정은 이렇습니다.p>
- 설정 파일
- /Assets/Settings.json 및/Asets/Setting.*.json의 모든 설정 파일은 설정 정보의 정의 파일로 읽습니다.
- 개별 설정 파일에서 정의된 설정은 서로 참조할 수 있기 때문에 고정 설정군과 응용 프로그램 고유 설정군을 각각 정의하여 차분 프로그래밍을 할 수 있다.
- 그룹 설정
- name에 "/"를 추가하여 경로를 구분하고 설정을 그룹화할 수 있습니다.
- 그룹에서는 하나의 설정만 사용할 수 있으며 둘 중 하나를 선택하면 다른 설정을 사용할 수 없습니다.
- 설정 숨기기
- name의 첫 번째 문자는 "입니다."이렇게 하면 설정 창에 표시되지 않는 설정이 됩니다.
- 상속
- 'inherit'선언을 사용하면 다른 설정을 계승한 하위 설정을 만들 수 있다.
- 연결 설정
- 설정을 선택하면 선택한 활동 설정 세트가 합쳐져 Unity의 다양한 설정 클래스(PlayerSettings, BuildSettings 등)에 반영됩니다.
- 참고로 Unity Editor 콘솔에 실제 적용되는 설정 집합 이름, 설정 항목을 기록합니다.뭐가 웃겨요?이렇게 생각할 때 저쪽을 참조할 수 있다.
- 프로젝트의 다양한 이름 설정
- Unity의 각종 설정 클래스인 public static 구성원 이름을 JSON의 프로젝트 이름으로 직접 사용합니다.
- 따라서 단위 참조 등 UnityEditor의 GUI에서 어떤 항목이 어떤 구성원 이름에 적용되는지 조사하십시오.
- enum형의 설정 항목은 Enum입니다.Parse가 문자열 해석을 수행하므로 설정 파일의 값은 Enum 요소를 사용해야 합니다.
- 예)'ScriptingBackend','IL2CPP','minSdkVersion','AndroidApiLevel22'
- enum 형식에 "Flags"속성이 있는 형식에 대해 여러 개의 값 집합을 정의할 수 있습니다.공백 구분자의 Enum 요소 문자열을 사용하십시오.
- 예)targetArchitectures: ARMv7ARM64
대략적인 구조
- 기본적으로 Reflection을 사용하여 Unity의 PlayerSettingClass public static field를 Unity의 PlayerSettingClass, BuildSettingClass 등 class public static field로 설정합니다.
- 값 설정을 통해 반영할 수 있는 필드는 좋지만 Setter 방법으로 설정해야 하는 필드 등은 개별적인 대응 코드가 적혀 있다.그리고 현재 모든 설정 항목이 대응할 수 없습니다.
- 나는 대응하지 않는 항목은 개별적으로 추서해야 한다고 생각한다.
마지막
- 유니티에서 설정 전환을 하기 위해 튜토리얼 보도를 보면서 하나하나 설정하는 시간과 편집기를 확장하여 쓰는 시간에서 해방되고 싶다.
- 설정 파일을 가져오면 버튼 설정을 쉽게 할 수 있습니다
Reference
이 문제에 관하여(유니티를 통일적으로 전환하는 Unity Setting Switcher를 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sa_w_ara/items/127fb54b739dc74fe8e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- Unity Setting Switcher 창 열기
이런 설정을 통해 개발용 키스토어와 발표용 키스토어를 구분할 수 있다p>
- keystore 파일 구성
- Assets/Cert.local/sample.keystore
- 로컬 전용 설정 정의
- keystore 파일 구성
- keystore 설정 정의
/Assets/Settings.local.json
{
"settings": [
{
"name": "android-singing/develop",
"android": {
"keystoreName":"",
"keystorePass":"",
"keyaliasName":"",
"keyaliasPass":""
}
},
{
"name": "android-singing/production",
"android": {
"keystoreName":"Assets/Cert.local/sample.keystore",
"keystorePass":"************",
"keyaliasName":"************",
"keyaliasPass":"************"
}
}
]
}
Git를 위한 설정 추천
사전에gitignore에 다음 설정을 추가하는 것이 좋습니다.
로컬 프로필이commit 범위에 있지 않고 개인 설정이 저장소를 오염시키는 것을 피할 수 있습니다.
(선택 중인 Setting 정보, 로컬에만 유효한 설정 등)
.gitignore
# UnitySettingSwitcher
*.local
*.local.json
*.local.meta
*.local.json.meta
사양 설정
설정은 이렇습니다.p>
- 설정 파일
- /Assets/Settings.json 및/Asets/Setting.*.json의 모든 설정 파일은 설정 정보의 정의 파일로 읽습니다.
- 개별 설정 파일에서 정의된 설정은 서로 참조할 수 있기 때문에 고정 설정군과 응용 프로그램 고유 설정군을 각각 정의하여 차분 프로그래밍을 할 수 있다.
- 그룹 설정
- name에 "/"를 추가하여 경로를 구분하고 설정을 그룹화할 수 있습니다.
- 그룹에서는 하나의 설정만 사용할 수 있으며 둘 중 하나를 선택하면 다른 설정을 사용할 수 없습니다.
- 설정 숨기기
- name의 첫 번째 문자는 "입니다."이렇게 하면 설정 창에 표시되지 않는 설정이 됩니다.
- 상속
- 'inherit'선언을 사용하면 다른 설정을 계승한 하위 설정을 만들 수 있다.
- 연결 설정
- 설정을 선택하면 선택한 활동 설정 세트가 합쳐져 Unity의 다양한 설정 클래스(PlayerSettings, BuildSettings 등)에 반영됩니다.
- 참고로 Unity Editor 콘솔에 실제 적용되는 설정 집합 이름, 설정 항목을 기록합니다.뭐가 웃겨요?이렇게 생각할 때 저쪽을 참조할 수 있다.
- 프로젝트의 다양한 이름 설정
- Unity의 각종 설정 클래스인 public static 구성원 이름을 JSON의 프로젝트 이름으로 직접 사용합니다.
- 따라서 단위 참조 등 UnityEditor의 GUI에서 어떤 항목이 어떤 구성원 이름에 적용되는지 조사하십시오.
- enum형의 설정 항목은 Enum입니다.Parse가 문자열 해석을 수행하므로 설정 파일의 값은 Enum 요소를 사용해야 합니다.
- 예)'ScriptingBackend','IL2CPP','minSdkVersion','AndroidApiLevel22'
- enum 형식에 "Flags"속성이 있는 형식에 대해 여러 개의 값 집합을 정의할 수 있습니다.공백 구분자의 Enum 요소 문자열을 사용하십시오.
- 예)targetArchitectures: ARMv7ARM64
대략적인 구조
- 기본적으로 Reflection을 사용하여 Unity의 PlayerSettingClass public static field를 Unity의 PlayerSettingClass, BuildSettingClass 등 class public static field로 설정합니다.
- 값 설정을 통해 반영할 수 있는 필드는 좋지만 Setter 방법으로 설정해야 하는 필드 등은 개별적인 대응 코드가 적혀 있다.그리고 현재 모든 설정 항목이 대응할 수 없습니다.
- 나는 대응하지 않는 항목은 개별적으로 추서해야 한다고 생각한다.
마지막
- 유니티에서 설정 전환을 하기 위해 튜토리얼 보도를 보면서 하나하나 설정하는 시간과 편집기를 확장하여 쓰는 시간에서 해방되고 싶다.
- 설정 파일을 가져오면 버튼 설정을 쉽게 할 수 있습니다
Reference
이 문제에 관하여(유니티를 통일적으로 전환하는 Unity Setting Switcher를 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sa_w_ara/items/127fb54b739dc74fe8e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
.gitignore
# UnitySettingSwitcher
*.local
*.local.json
*.local.meta
*.local.json.meta
설정은 이렇습니다.p>
- 설정 파일
- /Assets/Settings.json 및/Asets/Setting.*.json의 모든 설정 파일은 설정 정보의 정의 파일로 읽습니다.
- 개별 설정 파일에서 정의된 설정은 서로 참조할 수 있기 때문에 고정 설정군과 응용 프로그램 고유 설정군을 각각 정의하여 차분 프로그래밍을 할 수 있다.
- 그룹 설정
- name에 "/"를 추가하여 경로를 구분하고 설정을 그룹화할 수 있습니다.
- 그룹에서는 하나의 설정만 사용할 수 있으며 둘 중 하나를 선택하면 다른 설정을 사용할 수 없습니다.
- 설정 숨기기
- name의 첫 번째 문자는 "입니다."이렇게 하면 설정 창에 표시되지 않는 설정이 됩니다.
- 상속
- 'inherit'선언을 사용하면 다른 설정을 계승한 하위 설정을 만들 수 있다.
- 연결 설정
- 설정을 선택하면 선택한 활동 설정 세트가 합쳐져 Unity의 다양한 설정 클래스(PlayerSettings, BuildSettings 등)에 반영됩니다.
- 참고로 Unity Editor 콘솔에 실제 적용되는 설정 집합 이름, 설정 항목을 기록합니다.뭐가 웃겨요?이렇게 생각할 때 저쪽을 참조할 수 있다.
- 프로젝트의 다양한 이름 설정
- Unity의 각종 설정 클래스인 public static 구성원 이름을 JSON의 프로젝트 이름으로 직접 사용합니다.
- 따라서 단위 참조 등 UnityEditor의 GUI에서 어떤 항목이 어떤 구성원 이름에 적용되는지 조사하십시오.
- enum형의 설정 항목은 Enum입니다.Parse가 문자열 해석을 수행하므로 설정 파일의 값은 Enum 요소를 사용해야 합니다.
- 예)'ScriptingBackend','IL2CPP','minSdkVersion','AndroidApiLevel22'
- enum 형식에 "Flags"속성이 있는 형식에 대해 여러 개의 값 집합을 정의할 수 있습니다.공백 구분자의 Enum 요소 문자열을 사용하십시오.
- 예)targetArchitectures: ARMv7ARM64
대략적인 구조
- 기본적으로 Reflection을 사용하여 Unity의 PlayerSettingClass public static field를 Unity의 PlayerSettingClass, BuildSettingClass 등 class public static field로 설정합니다.
- 값 설정을 통해 반영할 수 있는 필드는 좋지만 Setter 방법으로 설정해야 하는 필드 등은 개별적인 대응 코드가 적혀 있다.그리고 현재 모든 설정 항목이 대응할 수 없습니다.
- 나는 대응하지 않는 항목은 개별적으로 추서해야 한다고 생각한다.
마지막
- 유니티에서 설정 전환을 하기 위해 튜토리얼 보도를 보면서 하나하나 설정하는 시간과 편집기를 확장하여 쓰는 시간에서 해방되고 싶다.
- 설정 파일을 가져오면 버튼 설정을 쉽게 할 수 있습니다
Reference
이 문제에 관하여(유니티를 통일적으로 전환하는 Unity Setting Switcher를 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sa_w_ara/items/127fb54b739dc74fe8e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 나는 대응하지 않는 항목은 개별적으로 추서해야 한다고 생각한다.
- 유니티에서 설정 전환을 하기 위해 튜토리얼 보도를 보면서 하나하나 설정하는 시간과 편집기를 확장하여 쓰는 시간에서 해방되고 싶다.
- 설정 파일을 가져오면 버튼 설정을 쉽게 할 수 있습니다
Reference
이 문제에 관하여(유니티를 통일적으로 전환하는 Unity Setting Switcher를 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sa_w_ara/items/127fb54b739dc74fe8e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)