CRIWARE Unity Plugin Manual  Last Updated: 2025-05-08
WebGL版FileMajik PRO

概述

本章介绍面向WebGL目标平台的FileMajik PRO。

限制事项

您可以使用 CriFsWebInstaller 。
不支持 CriFsInstaller 。

各个文件系统上的规格

您可以访问以下文件系统。
当在ADX/Sofdec/FileMajik PRO的加载相关API中指定了文件路径时,
会对该路径对应的文件系统进行文件获取处理。
远程文件系统
对于以“http://”、“https://”开头的URL路径,
会使用fetch Application向远程服务器发送请求
并获取文件。

在 WebGL 平台,StreamingAssets 是远程服务器上的一个目录,
使用 Application.streamingAssetsPath 会返回一个URL地址。

访问速度受网络通讯状态的影响,
加载过程中如果线路中断或超时会输出错误。

一旦文件成功加载,它就会使用 IndexedDB 缓存自身,并从缓存中加载,直到页面重新加载。

此外,对CORS(跨域资源共享)也有限制。
内存文件系统
如果路径以“/”开头,将访问Emscripten的标准文件系统。

您可以使用Unity的File类等访问它。
Application.temporaryCachePath 会返回 /tmp 。

内存文件系统具有较高的访问速度,但会消耗与写入文件同样大小的内存。
由于是易失性存储,会在网页重新加载时重置。
IndexedDB文件系统
使用IndexedDB的文件系统会备份数据到非易失性存储的文件系统。
挂载在 /idbfs 上,可以像内存文件系统一样访问。
Application.persistentDataPath 会返回 /idbfs 。

这仅仅是在内存文件系统上添加了备份功能,
同样会消耗和所写入文件同样大小的内存。

用File类等写入的时候,需要用 WebGL NativePlugin 调用 FS.syncfs() 与 非易失性存储同步。
可保存的容量因浏览器而异,如果在浏览器设置中禁用IndexedDB或在写入时的确认中选择不允许,
就会出现错误。

启动Unity WebGL游戏时,所有保存在IndexedDB中的文件都会被加载到内存中,所以如果文件数量增加,
可能会占用内存,影响启动时间。
此外,由于idbfs在同一主机上共享,因此来自不同游戏的文件也可能会产生影响。

备注:使用 WWW.LoadFromCacheOrDownload() 会写入 /idbfs 以下。