JSON 직렬화
ScriptableObject

스트리밍 에셋

Unity는 프로젝트를 빌드할 때 대부분의 에셋을 하나의 프로젝트로 결합합니다. 그러나 때로는 파일을 타겟 컴퓨터의 일반 파일시스템에 저장하여 경로명을 통해 액세스할 수 있도록 하는 편이 유용합니다. iOS 디바이스에 동영상 파일을 배포할 때가 바로 그러한 예입니다. PlayMovie 함수를 통해 재생하기 위해서는 오리지널 동영상 파일이 반드시 파일시스템의 특정 위치에서 사용 가능해야 합니다.

Unity copies any files placed in the folder called StreamingAssets (case-sensitive) in a Unity Project verbatim to a particular folder on the target machine. To retrieve the folder, use the Application.streamingAssetsPath property. It’s always best to use Application.streamingAssetsPath to get the location of the StreamingAssets folder, as it always points to the correct location on the platform where the application is running.

Application.streamingAssetsPath에서 반환하는 위치는 플랫폼마다 다릅니다.

  • Most platforms (Unity Editor, Windows, Linux players, PS4, Xbox One, Switch) use Application.dataPath + "/StreamingAssets",
  • macOS player uses Application.dataPath + "/Resources/Data/StreamingAssets",
  • iOS는 Application.dataPath + "/Raw"를 사용합니다.
  • Android는 압축된 APK/JAR 파일 내에 있는 파일을 사용합니다("jar:file://" + Application.dataPath + "!/assets").

스트리밍 에셋 파일에 직접 액세스할 수 없는 Android, WebGL 등의 플랫폼에서 스트리밍 에셋을 읽으려면 UnityWebRequest를 사용하십시오. 관련 예제는 Application.streamingAssetsPath를 참조하십시오.

On many platforms, the streaming assets folder location is read-only; you can not modify or write new files there at runtime. Use Application.persistentDataPath for a folder location that is writable.

Note: .dll and script files located in the StreamingAssets folder don’t participate in the script compilation.

Asset Bundles or Addressables are alternative ways of accessing content that is not part of regular game build data, and in many cases are preferred over Streaming Assets folder.

JSON 직렬화
ScriptableObject