Releases: michael811125/OxGFrame
Releases · michael811125/OxGFrame
Release v3.0.2
[3.0.2] - 2025-03-14
English
- Modified BuildinCatalog generation and reading methods.
- Upgraded YooAsset to v2.3.5-preview (latest commit).
中文
- 調整 BuildinCatalog 的生成與讀取方式。
- 升級 YooAsset 至 v2.3.5-preview (最新提交)。
Release v3.0.1
[3.0.1] - 2025-03-11
English
- modified SBP dependency version (v1.21.25).
中文
- 調整 SBP 依賴版本 (v1.21.25)。
Release v3.0.0
[3.0.0] - 2025-03-11
English
Note: Upgraded to 3.0.1 to fix SBP compatibility issues.
- Hotfixer
- Added the OXGFRAME_HYBRIDCLR_DISABLED symbol, which skips the AOTAssemblies metadata loading process during CheckHotfix, but the initial loading of Hotfix Package and HotfixAssemblies will still be executed. (If HybridCLR functionality is disabled, it is recommended to use this symbol to skip the Hotfix process).
- Added the Hotfixers.IsDisabled() method, which checks whether the OXGFRAME_HYBRIDCLR_DISABLED symbol is active.
- AssetLoader
- Others
- Added methods to encrypt/decrypt using byte[].
- Implemented IWebDecryptionServices interface for WebGL.
- Upgraded YooAsset to the latest (2.3.4-preview), with WebGL supporting multi-package development for versions 2.2.x and above.
- PatchLauncher
- Added SecuredStringType options (None, XORWithDummy, AES) for clearer explanation, replacing the previous bool SecuredString. It is recommended to default to None or XORWithDummy (for less GC).
- Added PlayMode - WebGLRemoteMode, which deploys CDN remote resources and configuration files, requests remote resources, and compares the remote App version.
- Adjusted PlayMode - WebGLMode to not require deploying CDN resources and configuration files, only requesting resources and the App version from StreamingAssets.
- Optimized and adjusted the implementation of SecuredString.
- AssetPatcher
- Added builtinpkgcatalog.json to check for built-in packages and to decide whether to use the file system for built-in queries. The builtinpkgcatalog.json will be automatically generated during OnPreprocessBuild (due to Yoo using a new file system, differing from the previous built-in query method).
- Added UnloadPackage method to destroy and release the package from memory, while the sandbox cache files remain.
- Added UnloadPackageAndClearCacheFiles method, with a destroyPackage parameter to choose whether to destroy and release the package from memory.
- Added GetBuiltinRootPath method to retrieve the root path for built-in resources.
- Changed Release to be processed asynchronously.
- Removed the BuiltinQueryMode option from PatchLauncher, as the new version of Yoo supports Built-in Query by default.
- Removed PatchSetting.yooSettings, and switched to using YooAssetBridge.
- AssetLoaders
- Adjusted Unload to be processed asynchronously.
- Adjusted Release to be processed asynchronously.
- Others
- CoreFrame
- UIFrame
- Optimized the generation method of UIMaskPool and UIFreezePool, creating only one object when the pool is insufficient.
- Optimized UIMaskPool and UIFreezePool to handle the maximum number of objects in the pool and avoid pool expansion.
- USFrame
- Adjusted LoadSceneAsync and all related methods, added LocalPhysicsMode parameter.
- UIFrame
- MediaFrame
- VideoFrame
- Added GetPlaySpeed() method.
- Fixed the issue where playbackSpeed wasn't updated synchronously.
- VideoFrame
- GSIFrame
- Renamed GSIManager's Start and Update methods (Obsolete), now using DriveStart and DriveUpdate instead.
- NetFrame
- Added NetFrames API methods.
- Added MirrorNetworking TCP, KCP2k libs.
- Added KCP (Reliable UDP) -> KcpNetProvider based on MirrorNetworking KCP2k (Reference: F8Framework).
- Adjusted TCP to use MirrorNetworking.Telepathy (Reference: F8Framework).
- Renamed WebsocketNetProvider to WebSocketNetProvider.
- Renamed WebsocketNetOption to WebSocketNetOption.
- Upgraded UnityWebSocket to v2.8.6.
- Updated all Samples.
- Upgraded SBP dependencies to the latest (2.2.11).
中文
Note: 升至 3.0.1 修正 SBP 兼容性問題。
- Hotfixer
- 新增 OXGFRAME_HYBRIDCLR_DISABLED symbol,CheckHotfix 時,將略過處理 AOTAssemblies 補元數據加載流程,不過 Hotfix Package 初始跟 HotfixAssemblies 加載依然會執行 (如果關閉 HybridCLR 功能,建議加上此標籤略過處理 Hotfix 流程)。
- 新增 Hotfixers.IsDisabled() 方法,返回檢查 OXGFRAME_HYBRIDCLR_DISABLED symbol 是否激活。
- AssetLoader
- Others
- 升級 Yoo 版本至最新 (2.3.4-preview),2.2.x 以上 WebGL 支持多 Package 開發。
- 新增使用 byte[] 加解密方法。
- 新增實現 IWebDecryptionServices 接口 for WebGL。
- PatchLauncher
- 新增 SecuredStringType (None, XORWithDummy, AES) 選項更清楚說明,取代之前的 bool SecuredString,預設建議為 None 或 XORWithDummy (更少 GC)。
- 新增 PlayMode - WebGLRemoteMode,部署 CDN 遠端資源與配置文件,將會請求遠端資源與比對遠端 App 版號。
- 調整 PlayMode - WebGLMode,不需要部署 CDN 資源與配置文件,僅請求 StreamingAssets 中的資源與 App 版號。
- 調整優化 SecuredString 結構與實現方式。
- AssetPatcher
- 新增 builtinpkgcatalog.json 用於查找是否有內置 package,方便初始 package 是否採用 file system 進行 built-in query,builtinpkgcatalog.json 會在 OnPreprocessBuild 時自動構建 (因為 Yoo 採用新的 file system,所以不同於以前的 built-in query 方式)。
- 新增 UnloadPackage 方法,從內存銷毀並釋放 package,但 sandbox 的 cache files 依然存在。
- 新增 UnloadPackageAndClearCacheFiles 方法,參數為 destroyPackage,可以選擇是否一併從內存銷毀並釋放 package。
- 新增 GetBuiltinRootPath 方法,獲取內置資源的根目錄。
- 調整 Release 改為異步處理。
- 移除 PatchLauncher 中的 BuiltinQueryMode 選項,新版的 Yoo 預設支持 Builtin Query 功能。
- 移除 PatchSetting.yooSettings,改為使用 YooAssetBridge。
- AssetLoaders
- 調整 Unload 為異步處理。
- 調整 Release 為異步處理。
- Others
- CoreFrame
- UIFrame
- 優化 UIMaskPool 與 UIFreezePool 生成方式,物件池不足時,只產生一個。
- 優化 UIMaskPool 與 UIFreezePool,處理物件池最大持有回收數量,避免物件池膨脹。
- USFrame
- 調整 LoadSceneAsync 跟 LoadScene 所有相關方法,新增 LocalPhysicsMode 參數。
- UIFrame
- MediaFrame
- VideoFrame
- 新增 GetPlaySpeed() 方法。
- 修正 playbackSpeed 沒有連動更新問題。
- VideoFrame
- GSIFrame
- 調整 GSIManager 的 Start 跟 Update 方法名稱 (Obsolete),改為使用 DriveStart,DriveUpdate。
- NetFrame
- 新增 NetFrames API 方法。
- 新增 MirrorNetworking TCP、KCP2k libs。
- 新增 KCP (Reliable UDP) -> KcpNetProvider 基於 MirrorNetworking KCP2k 實現 (Reference: F8Framework)。
- 調整 TCP 改成使用 MirrorNetworking.Telepathy 實現 (Reference: F8Framework)。
- 調整 WebsocketNetProvider 名稱為 WebSocketNetProvider。
- 調整 WebsocketNetOption 名稱為 WebSocketNetOption。
- 升級 UnityWebSocket 至 v2.8.6。
- 更新所有 Samples。
- 升級 SBP 依賴至最新 (2.2.11)。
Release v2.14.1
[2.14.1] - 2025-03-07
- Modified video loading preparation to avoid blocking caused by "wait until".
Release v2.14.0
Release v2.13.3
[2.13.3] - 2025-02-11
- Modified PatchLauncher SecureString Tooltip: If checked, complex encryption will be performed in memory (more GC). If unchecked, simple encryption will be performed in memory (less GC).
- Optimized SecureString to reduce GC by more than half.
Compare the GC impact with and without SecureString enabled.
SecureString Enabled | SecureString Disabled (Simple encryption) |
---|---|
![]() |
|
![]() |
![]() |
Release v2.13.2
-
Added CPBase MonoDrive feature. When enabled, it supports initialization driven by MonoBehaviour, allowing it to be directly placed in the scene without needing to be loaded through CPManager.
-
Fixed the issue in FrameManager where an InvalidOperationException could occur due to collection modification during enumeration.
-
Modified CPFrameDemo.
-
Optimized CPManager code.
Release v2.13.1
[2.13.1] - 2025-01-09
- Fixed an issue with BindCodeAutoGenerateEditor where using ScriptableObject.CreateInstance caused an "InvalidCastException: Specified cast is not valid." in Unity 6.
Extra release Info 2.13.0 (It is necessary to check!!!)
Release v2.13.0
[2.13.0] - 2025-01-09
- Redefined ShowAnimation and HideAnimation methods in UIBase, marked as obsolete, and are no longer in use (must be replaced). Please replace them with OnShowAnimation and OnCloseAnimation for clearer method names.
Release v2.12.5
[2.12.5] - 2025-01-02
- Modified the default value of builtinQueryMode in PatchLauncher to BuiltinFileManifest. WebRequest will be deprecated in the future, so it is recommended to switch to BuiltinFileManifest.
- Optimized to reduce the FrameManager Update GC issue in CoreFrame.
- Optimized to accelerate the garbage collection efficiency of the Collector dictionary in FrameBase.
BTW, It is planned to upgrade to version 3.0.0 after the stable release of YooAsset 2.2.x. This will involve some API changes.