Releases: michael811125/OxGFrame
Releases · michael811125/OxGFrame
Release v3.6.1
[3.6.1] - 2026-02-12
English
- AssetLoader
-
Critical Fixes
- Fixed an issue where the
Preloadseries methods inAssetLoaders(using assetNames[] arrays) failed to correctly refine. Also added support for preloading mixed arrays containing bothResourcesandBundleasset names.
- Fixed an issue where the
-
Adjustments
- Adjusted the log messaging for
GroupCache.
- Adjusted the log messaging for
-
中文
- AssetLoader
-
緊急修正
- 修正 AssetLoaders Preload 使用 assetNames[] 預加載的系列方法,未正確 refine 問題,並且修正支持可以混和 Resources 跟 Bundle 資源名稱數組進行預加載。
-
調整
- 調整 GroupCache 打印訊息。
-
Release v3.6.0
[3.6.0] - 2026-02-12
English
-
CoreFrame
-
Optimization
- Significantly optimized loading by refining the logic for checking the
sceneNameprefix ("build#"). UtilizedAsSpanto improve efficiency and reduce GC (achieving almost 0 GC).
- Significantly optimized loading by refining the logic for checking the
-
-
AssetLoader
-
Optimization
- Significantly optimized loading by refining the logic for checking the
assetNameprefix ("res#"). UtilizedAsSpanto improve efficiency and reduce GC (achieving almost 0 GC).
- Significantly optimized loading by refining the logic for checking the
-
Fixes
- Fixed
GroupCache(GroupBundle & GroupResources) methods by removing theforceUnloadparameter. SinceGroupCacheuses weak references, this prevents accidental triggering offorceUnload, which could lead to reference errors, making the system safer.
- Fixed
-
Adjustments
- Adjusted
AssetLoadersUnload-related interfaces. SinceGroupCacheuses weak references, the naming convention now prioritizes the "Unload" prefix.ReleaseBundleRawFiles(int groupId)-> UnloadRawFiles(int groupId)ReleaseResourceAssets(int groupId)&ReleaseBundleAssets(int groupId)-> UnloadAssets(int groupId)
- Adjusted
AssetLoadersRelease-related interfaces. Unified the Release interface; it no longer distinguishes betweenReleaseBundleandReleaseResources(now determined byLoadType) without affecting efficiency.ReleaseBundleScenes-> ReleaseScenesReleaseBundleRawFiles-> ReleaseRawFilesReleaseResourceAssets&ReleaseBundleAssets-> ReleaseAssets
- Adjusted
-
Third-Party Library Changes
- Removed the built-in
YooAssetlibrary; switched toPackageManagerfor installation and management (if modification of YooAsset source code is required, local installation via PackageManager is still supported).- Currently compatible with v2.3.18
https://github.com/tuyoogame/YooAsset.git?path=Assets/YooAsset
- Currently compatible with v2.3.18
- Removed the built-in
-
中文
-
CoreFrame
-
優化
- 大幅度優化加載時,需要 Refine 判斷 sceneName 前墜的方式 ("build#"),使用 AsSpan 提高效率與降低 GC (幾乎 0 GC)。
-
-
AssetLoader
-
優化
- 大幅度優化加載時,需要 Refine 判斷 assetName 前墜的方式 ("res#"),使用 AsSpan 提高效率與降低 GC (幾乎 0 GC)。
-
修正
- 修正 GroupCache (GroupBundle & GroupResources) 方法,移除方法中的 forceUnload 參數,主要是 GroupCache 為軟引用,避免誤觸 forceUnload 導致引用錯亂,更安全。
-
調整
- 調整 AssetLoaders Unload 相關接口,GroupCache 為軟引用,所以以 Unload 開頭為主。
ReleaseBundleRawFiles(int groupId)-> UnloadRawFiles(int groupId)ReleaseResourceAssets(int groupId)&ReleaseBundleAssets(int groupId)-> UnloadAssets(int groupId)
- 調整 AssetLoaders Release 相關接口,統一 Release 接口,不在區分 ReleaseBundle 跟 ReleaseResources 了 (由 LoadType 決定),不影響效率。
ReleaseBundleScenes-> ReleaseScenesReleaseBundleRawFiles-> ReleaseRawFilesReleaseResourceAssets&ReleaseBundleAssets-> ReleaseAssets
- 調整 AssetLoaders Unload 相關接口,GroupCache 為軟引用,所以以 Unload 開頭為主。
-
第三方庫改動
- 移除 YooAsset 內置庫,改為 PackageManager 進行管理安裝 (如有需要改 YooAsset 的源碼,一樣可以透過 PackageManager 進行本地安裝)。
- 目前兼容 v2.3.18 版本
https://github.com/tuyoogame/YooAsset.git?path=Assets/YooAsset
- 目前兼容 v2.3.18 版本
- 移除 YooAsset 內置庫,改為 PackageManager 進行管理安裝 (如有需要改 YooAsset 的源碼,一樣可以透過 PackageManager 進行本地安裝)。
-
Release v3.5.9
Release v3.5.8
[3.5.8] - 2026-01-08
English
-
Added
- Added
package.jsonto each module, allowing independent installation of modules via Git URL (please ensure correct dependency installation order).- AssetLoader
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/AssetLoader- CoreFrame (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/CoreFrame- MediaFrame (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/MediaFrame- Hotfixer (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/Hotfixer- GSIFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/GSIFrame- CenterFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/CenterFrame- NetFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/NetFrame
- Added
-
Organized
- Organized shared
ThirdPartylibraries to be managed by the primary dependency modules.- For example, both
HotfixerandAssetLoaderdepend onUniFramework. SinceHotfixeralso depends onAssetLoader,UniFramework(ThirdParty) is now managed byAssetLoader.
- For example, both
- Organized shared
-
AssetLoader
-
Updated
- Updated YooAsset to the latest commit (f0563cc).
-
-
MediaFrame
-
Added
- Added conversion features to the Audio & Video Editor MenuItem, allowing
Audio CliporVideo Clipto be converted into operationalAudioBaseandVideoBasePrefabs.
- Added conversion features to the Audio & Video Editor MenuItem, allowing
-
中文
-
新增
- 新增 package.json 至各模塊,可以獨立透過 git url 安裝各模塊 (需要確保依賴安裝順序)。
- AssetLoader
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/AssetLoader- CoreFrame (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/CoreFrame- MediaFrame (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/MediaFrame- Hotfixer (依賴 AssetLoader)
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/Hotfixer- GSIFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/GSIFrame- CenterFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/CenterFrame- NetFrame
https://github.com/michael811125/OxGFrame.git?path=Assets/OxGFrame/NetFrame
- 新增 package.json 至各模塊,可以獨立透過 git url 安裝各模塊 (需要確保依賴安裝順序)。
-
整理
- 整理共用 ThirdParty 由主依賴模塊管理。
- 如 Hotfixer 與 AssetLoader 都依賴 UniFramework,但是 Hotfixer 又依賴 AssetLoader,所以 UniFramework (ThirdParty) 由 AssetLoader 管理。
- 整理共用 ThirdParty 由主依賴模塊管理。
-
AssetLoader
-
更新
- 更新 YooAsset 至最新 commit (f0563cc)。
-
-
MediaFrame
-
新增
- 新增 Audio & Video Editor MenuItem 轉換功能,可以將 Audio Clip 或者 Video Clip 轉換成實際操作的 AudioBase 與 VideoBase 的預置體 (Prefab)。
-
Release v3.5.7
[3.5.7] - 2025-12-30
English
-
AssetLoader
-
Updated
- Updated YooAsset to the latest commit (1884fab).
-
-
NetFrame
-
Added
- Added
NetNode.SetConnectedHandlerto configure the callback method triggered upon a successful connection.
- Added
-
Fixed
- Fixed a casting issue during buffer reception in
TcpNetProvider.OnBinary.
// Fix var length = arrSeg.Count; var rcvData = new byte[length]; Array.Copy(arrSeg.Array, arrSeg.Offset, rcvData, 0, length); this.OnBinary(this, rcvData);
- Fixed a casting issue during buffer reception in
-
中文
- AssetLoader
-
更新
- 更新 YooAsset 至最新 commit (1884fab)。
-
- NetFrame
-
新增
- 新增 NetNode.SetConnectedHandler 設置已連線的回調方法。
-
修正
- 修正 TcpNetProvider OnBinary 接收 buffer 轉型問題。
// Fix var length = arrSeg.Count; var rcvData = new byte[length]; Array.Copy(arrSeg.Array, arrSeg.Offset, rcvData, 0, length); this.OnBinary(this, rcvData);
-
Release v3.5.6
Release v3.5.5
[3.5.5] - 2025-11-21
English
- Hotfixer
- Added HotfixSettings, allowing custom file extensions to avoid issues where some WebGL environments restrict certain extension names.
- AssetLoader
- Added PatchSettings, allowing custom file extensions to avoid issues where some WebGL environments restrict certain extension names.
中文
- Hotfixer
- 新增 HotfixSettings 可以自定義擴展名稱,避免有些 WebGL 有限制擴展名稱的請求。
- AssetLoader
- 新增 PatchSettings 可以自定義擴展名稱,避免有些 WebGL 有限制擴展名稱的請求。

Release v3.5.4
English
- Hotfixer
-
Added
- Added
HotfixEvents.HotfixCreateDownloader(create downloader) (#138).- Very important: You must register a listener for the
HotfixEvents.HotfixCreateDownloaderevent and invokeHotfixUserEvents.UserBeginDownload.SendEventMessage(). Otherwise, the flow will keep waiting for user confirmation (#138).
- Very important: You must register a listener for the
- Added
HotfixEvents.HotfixDownloadProgression(download progress) (#138). - Added
HotfixUserEvents.UserBeginDownload(user-initiated download) (#138).
- Added
-
Updated
- Updated HotfixerDemo.
-
- AssetLoader
-
Added
- Added ParameterEntry list configuration on PatchLauncher. This allows adding extra YooAsset FileSystem parameters per mode, but you must specify the type (Ref: FileSystemParametersDefine + FileSystem).
/// <summary> /// 支持的型別對應表 /// </summary> private static readonly Dictionary<string, Type> _supportedTypes = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase) { // Boolean { "bool", typeof(bool) }, { "boolean", typeof(bool) }, // Integer types { "int", typeof(int) }, { "int32", typeof(int) }, { "uint", typeof(uint) }, { "uint32", typeof(uint) }, { "byte", typeof(byte) }, { "sbyte", typeof(sbyte) }, { "short", typeof(short) }, { "int16", typeof(short) }, { "ushort", typeof(ushort) }, { "uint16", typeof(ushort) }, { "long", typeof(long) }, { "int64", typeof(long) }, { "ulong", typeof(ulong) }, { "uint64", typeof(ulong) }, // Floating point types { "float", typeof(float) }, { "single", typeof(float) }, { "double", typeof(double) }, { "decimal", typeof(decimal) }, // Other common types { "string", typeof(string) }, { "char", typeof(char) } };
- Added
PatchLauncher.AutoUnloadBundleWhenUnusedconfiguration parameter, applied at the YooAsset resource-management layer (Ref: YooAsset v2.3.17).
- Added ParameterEntry list configuration on PatchLauncher. This allows adding extra YooAsset FileSystem parameters per mode, but you must specify the type (Ref: FileSystemParametersDefine + FileSystem).
-
Updated
- Updated YooAsset to v2.3.17.
-
- CoreFrame
-
Adjusted
- Adjusted
UIManagerandSRManagerdefaults:FixedUpdate = trueandLateUpdate = true.
- Adjusted
-
中文
- Hotfixer
-
新增
- 新增 HotfixEvents.HotfixCreateDownloader (建立下載器) (#138)。
- 非常重要:一定要註冊監聽 HotfixEvents.HotfixCreateDownloader 事件,並且觸發 HotfixUserEvents.UserBeginDownload.SendEventMessage(),不然會一直等待使用者確認步驟 (#138)。
- 新增 HotfixEvents.HotfixDownloadProgression (下載進度) (#138)。
- 新增 HotfixUserEvents.UserBeginDownload (使用者觸發下載) (#138)。
- 新增 HotfixEvents.HotfixCreateDownloader (建立下載器) (#138)。
-
更新
- 更新 HotfixerDemo。
-
- AssetLoader
-
新增
- 新增 ParameterEntry 列表配置於 PatchLauncher,可以針對不同模式額外新增 YooAsset FileSystem 的參數配置,但必須表明型別 (參考:FileSystemParametersDefine + 文件系統)。
/// <summary> /// 支持的型別對應表 /// </summary> private static readonly Dictionary<string, Type> _supportedTypes = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase) { // Boolean { "bool", typeof(bool) }, { "boolean", typeof(bool) }, // Integer types { "int", typeof(int) }, { "int32", typeof(int) }, { "uint", typeof(uint) }, { "uint32", typeof(uint) }, { "byte", typeof(byte) }, { "sbyte", typeof(sbyte) }, { "short", typeof(short) }, { "int16", typeof(short) }, { "ushort", typeof(ushort) }, { "uint16", typeof(ushort) }, { "long", typeof(long) }, { "int64", typeof(long) }, { "ulong", typeof(ulong) }, { "uint64", typeof(ulong) }, // Floating point types { "float", typeof(float) }, { "single", typeof(float) }, { "double", typeof(double) }, { "decimal", typeof(decimal) }, // Other common types { "string", typeof(string) }, { "char", typeof(char) } };
- 新增 PatchLauncher.AutoUnloadBundleWhenUnused 配置參數,作用於 YooAsset 資產管理層 (參考:YooAsset v2.3.17)。
- 新增 ParameterEntry 列表配置於 PatchLauncher,可以針對不同模式額外新增 YooAsset FileSystem 的參數配置,但必須表明型別 (參考:FileSystemParametersDefine + 文件系統)。
-
更新
- 更新 YooAsset 至 v2.3.17。
-
- CoreFrame
-
調整
- 調整 UIManager, SRManager 預設驅動 FixedUpdate = true 跟 LateUpdate = true。
-
Release v3.5.3
English
- AssetLoader
-
Fixed
- Fixed issue where CacheBundle Unload Additive Scene could not be unloaded in a single operation.
- Fixed AssetLoaders.HasInCache to properly check if AdditiveScene exists in cache.
-
Optimized
- Optimized CacheBundle & CacheResources async concurrent same-frame reentry cache hit insufficiency returning null (resolved using single-flight pattern), and ensured RefCount loading and unloading pairing consistency (#134).
-
- CoreFrame
-
Fixed
- Fixed scene unloading consistency when USFrame.UnloadFromBuild and USFrame.UnloadFromBundle are used interchangeably, avoiding Additive Scene count inconsistency.
-
Optimized
- Optimized USFrame.LoadFromBuildAsync async concurrent same-frame reentry issue, avoiding Single Scene being loaded multiple times during async concurrency (#134).
-
中文
- AssetLoader
-
修正
- 修正 CacheBundle Unload Additive Scene 無法單次卸載問題。
- 修正 AssetLoaders.HasInCache 可以檢查到 AdditiveScene 是否存在於緩存中。
-
優化
- 優化 CacheBundle & CacheResources 異步併發同幀重入緩存命中不足,返回 null 的問題 (使用單飛模式解決),並且保證 RefCount 加載與卸載成對的一致性 (#134)。
-
- CoreFrame
-
修正
- 修正 USFrame.UnloadFromBuild 與 USFrame.UnloadFromBundle 交互使用時,場景卸載的一致性,避免 Additive Scene 計數不一致。
-
優化
- 優化 USFrame.LoadFromBuildAsync 異步併發同幀重入問題,避免異步併發時 Single Scene 被加載多次 (#134)。
-
Release v3.5.2
[3.5.2] - 2025-10-16
English
- Hotfixer
-
Added
- Added
HotfixSettings, allowing for custom configuration file names (defaults tohotfixdllconfig.conf).
- Added
-
- AssetLoader
-
Modified
- Renamed configuration file from
PatchSettingtoPatchSettings(data is automatically migrated).- Note: After the automatic update, your data will be preserved, but it is recommended to manually rename the existing configuration file.
- Caution: If you encounter errors due to references to the old name, please update them manually.
- Additional Note: The BuildTool Extension must be updated (update via Package Manager Samples).
- Renamed configuration file from
CryptogramSettingtoCryptogramSettings(data is automatically migrated).- Note: After the automatic update, your data will be preserved, but it is recommended to manually rename the existing configuration file.
- Renamed configuration file from
-
Updated
- Updated YooAsset to the latest commit (v2.3.16 - ea34be1).
-
- CoreFrame
-
Modified
- Renamed configuration file from
BindCodeSettingtoCodeBindingSettings(data is automatically migrated).- Note: After the automatic update, your data will be preserved, but it is recommended to manually rename the existing configuration file.
- Renamed parameter and class from
SRSettingtoSRSettings(data is automatically migrated).- Caution: If you encounter errors due to references to the old name, please update them manually.
- Renamed parameter and class from
UISettingtoUISettings(data is automatically migrated).- Caution: If you encounter errors due to references to the old name, please update them manually.
- Renamed parameter and class from
MaskSettingtoMaskSettings(data is automatically migrated).- Caution: If you encounter errors due to references to the old name, please update them manually.
- Renamed configuration file from
-
中文
- Hotfixer
-
新增
- 新增 HotfixSettings,可以自定義配置文件名稱 (預設為 hotfixdllconfig.conf)。
-
- AssetLoader
-
修改
- 修改配置文件名稱 PatchSetting -> PatchSettings (自動更新,數據會保留)。
- 備註:自動更新後,數據會保留,但是已存在的文件名稱建議手動重新命名。
- 注意:如有引用舊的名稱報錯,再自行更新。
- 額外注意:BuildTool Extension 必須更新 (透過 Package Manager Samples 進行更新)。
- 備註:自動更新後,數據會保留,但是已存在的文件名稱建議手動重新命名。
- 修改配置文件名稱 CryptogramSetting -> CryptogramSettings (自動更新,數據會保留)。
- 備註:自動更新後,數據會保留,但是已存在的文件名稱建議手動重新命名。
- 修改配置文件名稱 PatchSetting -> PatchSettings (自動更新,數據會保留)。
-
更新
- 更新 YooAsset 到最新的 commit (v2.3.16 - ea34be1)
-
- CoreFrame
-
修改
- 修改配置文件名稱 BindCodeSetting -> CodeBindingSettings (自動更新,數據會保留)。
- 備註:自動更新後,數據會保留,但是已存在的文件名稱建議手動重新命名。
- 修改參數與類別名稱 SRSetting -> SRSettings (自動更新,數據會保留)。
- 注意:如有引用舊的名稱報錯,再自行更新。
- 修改參數與類別名稱 UISetting -> UISettings (自動更新,數據會保留)。
- 注意:如有引用舊的名稱報錯,再自行更新。
- 修改參數與類別名稱 MaskSetting -> MaskSettings (自動更新,數據會保留)。
- 注意:如有引用舊的名稱報錯,再自行更新。
- 修改配置文件名稱 BindCodeSetting -> CodeBindingSettings (自動更新,數據會保留)。
-

