Skip to content

Releases: tuyoogame/YooAsset

2.2.12

14 Feb 02:05
Compare
Choose a tag to compare

Improvements

  • WebGL网页平台支持文件加密。
  • 微信小游戏平台支持文件加密。
  • 抖音小游戏平台支持文件加密。

Fixed

  • (#466) 修复了微信小游戏文件系统查询机制不生效!
  • (#341) 修复了微信小游戏的下载进度异常问题。
  • (#471) 修复了Unity2019,Unity2020平台上,TableView视图无法显示的问题。

Added

  • 新增了ResourcePackage.UnloadAllAssetsAsync(UnloadAllAssetsOptions options)方法

    public sealed class UnloadAllAssetsOptions
    {
        /// <summary>
        /// 释放所有资源句柄,防止卸载过程中触发完成回调!
        /// </summary>
        public bool ReleaseAllHandles = false;
         
        /// <summary>
        /// 卸载过程中锁定加载操作,防止新的任务请求!
        /// </summary>
        public bool LockLoadOperation = false;
    }

2.2.11

10 Feb 12:05
Compare
Choose a tag to compare

Improvements

  • AssetArtScanner配置和生成报告的容错性检测。

Fixed

  • (#465) 修复了特殊情况下,没有配置资源包文件后缀名构建失败的问题。
  • (#468) 修复了安卓平台二次启动加载原生文件或加密文件失败的问题。

2.2.10

08 Feb 06:45
Compare
Choose a tag to compare

Improvements

  • 新增了可扩展的AssetArtScanner资源扫描工具,详细请见官方说明文档。
  • 优化了AssetBundleReporter页面。
  • 优化了AssetBundleDebugger页面。
  • 优化了微信小游戏文件系统的缓存查询机制。
  • 优化了抖音小游戏文件系统的缓存查询机制。

Fixed

  • (#447) 修复了Unity2019平台代码编译错误问题。
  • (#456) 修复了在Package未激活有效清单之前,无法销毁的问题。
  • (#452) 修复了内置文件系统类NeedPack方法总是返回TRUE的问题。
  • (#424) 适配了Unity6000版本替换了过时方法。

Added

  • 新增了SBP构建管线构建参数:BuiltinShadersBundleName

  • 新增了SBP构建管线构建参数:MonoScriptsBundleName

  • 新增了全局构建管线构建参数:SingleReferencedPackAlone

    /// <summary>
    /// 对单独引用的共享资源进行独立打包
    /// 说明:关闭该选项单独引用的共享资源将会构建到引用它的资源包内!
    /// </summary>
    public bool SingleReferencedPackAlone = true;
  • 新增了内置文件系统初始化参数:COPY_BUILDIN_PACKAGE_MANIFEST

    // 内置文件系统初始化的时候,自动拷贝内置清单到沙盒目录。
    var systemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters();
    systemParameters.AddParameter(FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST, true);

2.2.9

14 Jan 06:36
Compare
Choose a tag to compare

Fixed

  • (#438) 修复了纯血鸿蒙加载本地文件失败的问题。
  • (#445) 修复了小游戏扩展文件系统脚本编译错误。

Changed

  • EditorSimulateModeHelper.SimulateBuild()方法变更

    public static PackageInvokeBuildResult SimulateBuild(string packageName);

2.2.8-preview

03 Jan 10:14
Compare
Choose a tag to compare
2.2.8-preview Pre-release
Pre-release

新增了单元测试用例。
太空战机新年版!

Improvements

  • EditorSimulateModeHelper.SimulateBuild()方法提供指定自定义构建类

    public class EditorSimulateBuildParam
    {
        /// <summary>
        /// 模拟构建类所属程序集名称
        /// </summary>
        public string InvokeAssmeblyName = "YooAsset.Editor";
    
        /// <summary>
        /// 模拟构建执行的类名全称       
        /// 注意:类名必须包含命名空间!  
        /// </summary>    
        public string InvokeClassFullName = "YooAsset.Editor.AssetBundleSimulateBuilder";
    
        /// <summary>     
        /// 模拟构建执行的方法名称    
        /// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static      
        /// </summary>       
        public string InvokeMethodName = "SimulateBuild";
    }
  • 文件清理方式新增清理缓存清单。

    /// <summary>
    /// 文件清理方式
    /// </summary>
    public enum EFileClearMode
    {
        /// <summary>
        /// 清理所有清单
        /// </summary>
        ClearAllManifestFiles,
    
        /// <summary>
        /// 清理未在使用的清单 
        /// </summary> 
        ClearUnusedManifestFiles,    
    }

Fixed

  • (#426) 修复了鸿蒙next平台加载内置文件路径报错的问题。
  • (#428) 修复了鸿蒙next平台加载内置文件路径报错的问题。
  • (#434) 修复了2.2版本 catalog文件对Json格式原生文件不记录的问题。
  • (#435) 修复了WebGL平台调用MD5算法触发异常的问题。

Added

  • 新增了视频打包规则。

    /// <summary>
    /// 打包视频文件
    /// </summary>
    [DisplayName("打包视频文件")]
    public class PackVideoFile : IPackRule

Changed

  • 重命名FileSystemParameters.RootDirectory字段为PackageRoot
  • 重命名ResourcePackage.ClearCacheBundleFilesAsync()方法为ClearCacheFilesAsync()

2.2.7-preview

30 Dec 09:14
Compare
Choose a tag to compare
2.2.7-preview Pre-release
Pre-release

Improvements

  • 重构了下载器的委托方法。

  • YooAssetSettings配置文件新增Package Manifest Prefix参数。

    /// <summary>
    /// 资源清单前缀名称(默认为空)
    /// </summary>
    public string PackageManifestPrefix = string.Empty;

Fixed

  • (#422) 修复了同步加载场景的NotImplementedException异常报错。
  • (#418) 修复了web远程文件系统初始化不正确的问题
  • (#392) 修复了引擎版本代码兼容相关的警告。
  • (#332) 修复了当用户的设备中有特殊字符时,URL路径无法被正确识别的问题。

Added

  • 新增代码字段:AsyncOperationBase.PackageName

Changed

  • 重命名DownloaderOperation.OnDownloadOver()方法为DownloaderFinish()
  • 重命名DownloaderOperation.OnDownloadProgress()方法为DownloadUpdate()
  • 重命名DownloaderOperation.OnDownloadError()方法为DownloadError()
  • 重命名DownloaderOperation.OnStartDownloadFile()方法为DownloadFileBegin()

2.2.6-preview

27 Dec 07:12
Compare
Choose a tag to compare
2.2.6-preview Pre-release
Pre-release

Improvements

  • 增强了对Steam平台DLC拓展包的支持。

    // 新增参数关闭Catalog目录查询内置文件的功能
    var fileSystemParams = CreateDefaultBuildinFileSystemParameters();
    fileSystemParams .AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true);
  • 资源句柄基类提供了统一的Release方法。

    public abstract class HandleBase : IEnumerator, IDisposable
    {
        /// <summary>
        /// 释放资源句柄
        /// </summary>
        public void Release();
    
        /// <summary>
        /// 释放资源句柄
        /// </summary>
        public void Dispose();
    }
  • 优化了场景卸载逻辑。

    //框架内不在区分主场景和附加场景。
    //场景卸载后自动释放资源句柄。

Fixed

  • 修复了Unity2020版本提示的脚本编译错误。
  • (#417) 修复了DefaultWebServerFileSystem文件系统内Catalog未起效的问题。

Added

  • 新增示例文件 GetCacheBundleSizeOperation.cs

    可以获取指定Package的缓存资源总大小。

Removed

  • 移除了SceneHandle.IsMainScene()方法。

2.2.5-preview

25 Dec 10:53
Compare
Choose a tag to compare
2.2.5-preview Pre-release
Pre-release

依赖的ScriptableBuildPipeline (SBP) 插件库版本切换为1.21.25版本!

重构了ResourceManager相关的核心代码,方便借助文件系统扩展和支持更复杂的需求!

Editor

  • 新增了编辑器模拟构建管线 EditorSimulateBuildPipeline
  • 移除了EBuildMode枚举类型,构建界面有变动。
  • IActiveRule分组激活接口新增GroupData类。

Improvements

  • 增加抖音小游戏文件系统,见扩展示例代码。

  • 微信小游戏文件系统支持删除无用缓存文件和全部缓存文件。

  • 资源构建管线现在默认剔除了Gizmos和编辑器资源。

  • 优化了资源构建管线里资源收集速度。

    资源收集速度提升100倍!

    class BuildParameters
    {
        /// <summary>
        /// 使用资源依赖缓存数据库
        /// 说明:开启此项可以极大提高资源收集速度
        /// </summary>
        public bool UseAssetDependencyDB = false;
    }
  • WebPlayMode支持跨域加载。

    // 创建默认的WebServer文件系统参数
    public static FileSystemParameters CreateDefaultWebServerFileSystemParameters(bool disableUnityWebCache = false)
    
    // 创建默认的WebRemote文件系统参数(支持跨域加载)
    public static FileSystemParameters CreateDefaultWebRemoteFileSystemParameters(IRemoteServices remoteServices, bool disableUnityWebCache = false)
  • 编辑器模拟文件系统新增初始化参数:支持异步模拟加载帧数。

    /// <summary>
    /// 异步模拟加载最小帧数
    /// </summary>
    FileSystemParametersDefine.ASYNC_SIMULATE_MIN_FRAME
    
    /// <summary>
    /// 异步模拟加载最大帧数
    /// </summary>
    FileSystemParametersDefine.ASYNC_SIMULATE_MAX_FRAME
  • 缓存文件系统新增初始化参数:支持设置下载器最大并发连接数和单帧最大请求数

    var fileSystremParams = FileSystemParameters.CreateDefaultCacheFileSystemParameters();
    fileSystremParams .AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_CONCURRENCY, 99);
    fileSystremParams .AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_REQUEST_PER_FRAME, 10);

Fixed

  • (#349) 修复了在加载清单的时候,即使本地存在缓存文件还会去远端下载。
  • (#361) 修复了协程里等待的asset handle被release,会无限等待并输出警告信息。
  • (#359) 修复了SubAssetsHandle.GetSubAssetObject会获取到同名的主资源。
  • (#387) 修复了加密后文件哈希冲突的时候没有抛出异常错误。
  • (#404) 修复了Unity2022.3.8版本提示编译错误:Cannot resolve symbol 'AsyncInstantiateOperation'

Added

  • 新增示例文件 CopyBuildinManifestOperation.cs

  • 新增示例文件 LoadGameObjectOperation.cs

  • 新增了获取配置清单详情的方法

    class ResourcePackage
    {
       public PackageDetails GetPackageDetails() 
    }
  • 新增了获取所有资源信息的方法

    class ResourcePackage
    {
        public AssetInfo[] GetAllAssetInfos() 
    }
  • 新增了清理缓存文件的通用方法

    /// <summary>
    /// 文件清理方式
    /// </summary>
    public enum EFileClearMode
    {
        /// <summary>
        /// 清理所有文件
        /// </summary>
        ClearAllBundleFiles = 1,
        /// <summary>
        /// 清理未在使用的文件
        /// </summary>
        ClearUnusedBundleFiles = 2,
        /// <summary>   
        /// 清理指定标签的文件   
        /// 说明:需要指定参数,可选:string, string[], List<string>   
        /// </summary>   
        ClearBundleFilesByTags = 3,
    }
    class ResourcePackage
    {
        /// <summary>
        /// 清理缓存文件
        /// </summary>
        /// <param name="clearMode">清理方式</param>
        /// <param name="clearParam">执行参数</param>
        public ClearCacheBundleFilesOperation ClearCacheBundleFilesAsync(EFileClearMode clearMode, object clearParam = null)
    }

Changed

  • 修改了EditorSimulateModeHelper.SimulateBuild()方法

  • 重命名ResourcePackage.GetAssetsInfoByTags()方法为GetAssetInfosByTags()

  • 实例化对象方法增加激活参数。

    public InstantiateOperation InstantiateAsync(bool actived = true)
  • 清单文件的版本提升到2.2.5版本

    /// <summary>
    /// 资源包裹的备注信息
    /// </summary>
    public string PackageNote;

Removed

  • 移除了HostPlayModeParameters.DeliveryFileSystemParameters字段
  • 移除了ResourcePackage.ClearAllBundleFilesAsync()方法
  • 移除了ResourcePackage.ClearUnusedBundleFilesAsync()方法
  • 移除了FileSystemParameters.CreateDefaultBuildinRawFileSystemParameters()方法
  • 移除了FileSystemParameters.CreateDefaultCacheRawFileSystemParameters()方法
  • 移除了枚举类型:EDefaultBuildPipeline
  • 移除了配置参数:YooAssetSettings.ManifestFileName

2.2.4-preview

15 Aug 03:56
Compare
Choose a tag to compare
2.2.4-preview Pre-release
Pre-release

Fixed

  • 修复了HostPlayMode初始化卡死的问题。

2.2.3-preview

13 Aug 02:33
Compare
Choose a tag to compare
2.2.3-preview Pre-release
Pre-release

Fixed

  • (#311) 修复了断点续传下载器极小概率报错 : “416 Range Not Satisfiable”

Improvements

  • 原生文件构建管线支持原生文件加密。

  • HostPlayMode模式下内置文件系统初始化参数可以为空。

  • 场景加载增加了LocalPhysicsMode参数来控制物理运行模式。

  • 默认的内置文件系统和缓存文件系统增加解密方法。

    /// <summary>
    /// 创建默认的内置文件系统参数
    /// </summary>
    /// <param name="decryptionServices">加密文件解密服务类</param>
    /// <param name="verifyLevel">缓存文件的校验等级</param>
    /// <param name="rootDirectory">内置文件的根路径</param>
    public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(IDecryptionServices decryptionServices, EFileVerifyLevel verifyLevel, string rootDirectory);
    
    /// <summary>
    /// 创建默认的缓存文件系统参数
    /// </summary>
    /// <param name="remoteServices">远端资源地址查询服务类</param>
    /// <param name="decryptionServices">加密文件解密服务类</param>
    /// <param name="verifyLevel">缓存文件的校验等级</param>
    /// <param name="rootDirectory">文件系统的根目录</param>
    public static FileSystemParameters CreateDefaultCacheFileSystemParameters(IRemoteServices remoteServices, IDecryptionServices decryptionServices, EFileVerifyLevel verifyLevel, string rootDirectory);