[Unity]/[Unity]

[Unity] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점)

극꼼 2021. 3. 1. 19:35
반응형


 

[서문]

게임을 만드는 도중, 세이브/로드가 잘 안 먹히는 현상때문에 골머리를 앓았는데요,

실시간으로 인게임에서 데이터를 불러오고 저장하는게 잘 안 되는 현상이었습니다. (에디터 밖으로 나갔다가 들어와야 잘 먹힘)

 

알아본 결과 파일을 저장하는 경로는 여러개가 있고, 저는 학원에서 배운 Application.dataPath + "Resources/..."를 계속 써왔는데 Resources파일에 저장하는 리소스들은 빌드 시 패키지에 포함되는 영역이지, 읽고 쓰는 파일을 저장하는 용도로 사용하지 않는다고 합니다.

에디터 상에서는 잠시 에디터를 벗어났다가 돌아오면 저장/로드가 되지만, 빌드를 한 후에는 따로 저장할 수 없다 합니다.

 

아래 본문에서 여러 저장 경로와 쓰임새에 대해 알아보겠습니다. 

 


[본문]

1) Application.dataPath

 : 제가 원래 사용하고 있었던 데이터 저장 경로입니다. 읽기 전용이며, 런타임 중에 파일 수정, 작성을 할 수 없습니다. 

 

- 저장 경로 : 프로젝트 폴더 내부(Asset)

 

 

2) Application.streamingAssetsPath (Application.dataPath + "/StreamingAssets")

 : dataPath와 마찬가지로 읽기 전용이며, 런타임 시점에 여기서 파일을 수정하거나 작성할 수 없다고 합니다.

서버에서 다운받는 데이터를 아직 서버가 마련되지 않아 파일 형식으로 유니티에 포함시킬 때 사용합니다. 

 

- 저장 경로 : 프로젝트 폴더내부(StreamingAsset)

 

3) Application.persistentDataPath   

 : 제가 원하던 쓰기 가능한 폴더의 위치입니다. 특정 운영체제에서 앱이 사용할 수 있도록 허용한 경로입니다.

 

- 저장 경로 : C:\Users\[user name]\AppData\LocalLow\[company name]\[product name]

(저장 경로 파일명([company name], [product name])의 이름을 바꾸는 방법은 아래 링크 걸어뒀습니다!)

 

 

 

* 각 저장 경로의 자세한 저장 위치는 아래 링크 블로그에서 잘 정리해두셨더군요. 아래 블로그 참고하시길 추천드립니다.

3dmpengines.tistory.com/1745

 

유니티 데이터 패스(Application.dataPath, ) 정리 와 예약 폴더들(Resources, )

유니티 데이터 패스 정리 테스트한 기기에 따라 결과가 다를 수 있음 [윈도우 에디터] Application.persistentDataPath : 사용자디렉토리/AppData/LocalLow/회사이름/프로덕트이름 파일 읽기 쓰기 가능 Applicatio

3dmpengines.tistory.com

** 파일 저장 경로 파일 이름 변경 방법

geukggom.tistory.com/10

 

[Unity 문법] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점)

[서문] 게임을 만드는 도중, 세이브/로드가 잘 안 먹히는 현상때문에 골머리를 앓았는데요, 실시간으로 인게임에서 데이터를 불러오고 저장하는게 잘 안 되는 현상이었습니다. (에디터 밖으로

geukggom.tistory.com

 

반응형