AssetDatabase.RenameAsset 함수 주의사항Unity/TroubleShooting2021. 10. 14. 14:19
Table of Contents
Unity프로젝트내의 에셋의 이름을 런타임중에 바꿀수있는 함수이다.
구글시트에서 불러온 데이터를 스크립터블 오브젝트에 입력하고 오브젝트의 이름까지 바꿔주는 자동화 작업에 사용했다.
사용법은 이런식이다.
string assetPath = AssetDatabase.GetAssetPath(data.GetInstanceID());
string fileName = "newFileName";
AssetDatabase.RenameAsset(assetPath, fileName);
AssetDatabase.SaveAssets();
주의할점은
이 `RenameAsset()`함수가 폴더내에 같은이름이 있을때,
아무런 에러도없이 이름을 안바꾸고 건너뛰어버린다.
예를들어
폴더내에 `Data1`, `Data2`라는 에셋이 두개있을때,
`Data1`의 이름을 스크립트상에서 `Data2`로바꿀려고하면 에러없이 건너뛰게된다.
파일갯수가 적을땐 물론 눈치채기 쉽지만 그렇지않다면 헤맬수도있다.
++추가로
`AssetDatabase`클래스는 에디터에서만 사용할수있다.
빌드할때 에러가나기 때문에 사용하는부분은 전처리문으로 감싸줘야한다.
'Unity > TroubleShooting' 카테고리의 다른 글
[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제 (0) | 2023.05.31 |
---|---|
[Firebase] FirebaseAuth 소셜로그인 콜백 주의점 (0) | 2023.05.26 |
[Unity] TCP통신에서 패킷이 누락되는듯한 문제 수정 (0) | 2022.10.18 |
[Unity] GoogleSheetsForUnity 에러수정 (0) | 2022.10.13 |
[Unity] RenderTexutre를 PNG로 저장할때 어두워지는 문제 (0) | 2022.08.09 |