Skip to content

Commit b9fbec9

Browse files
merge v1.0.2 updates
merge v1.0.2 updates
2 parents a62fffe + c8a6e77 commit b9fbec9

File tree

9 files changed

+48
-34
lines changed

9 files changed

+48
-34
lines changed

CHANGE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
## All Versions
22

3+
## 1.0.2 (October 15 2025)
4+
- **Fixed** development and server setting save issue
5+
- **Allowed** loading hot code's pdb file in order to debug in unity editor
6+
- **Updated** Nino to the latest verstion
7+
- **Updated** Unity to the latest 2022 LTS (fixing CVE)
8+
9+
10+
311
## 1.0.1 (September 28 2025)
412

513
- **AssetBundle Encryption** support (XOR, AES, ChaCha20)

README.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,12 @@ JEngine is a powerful Unity framework that enables **runtime hot updates** for y
5353
| **HybridCLR** | Runtime code execution | [GitHub](https://github.com/focus-creative-games/hybridclr) |
5454
| **YooAssets** | Runtime resource updates | [GitHub](https://github.com/tuyoogame/YooAsset) |
5555

56-
## 🎉 Latest Features (v1.0.1)
56+
## 🎉 Latest Features (v1.0.2)
5757

58-
- **AssetBundle Encryption** support (XOR, AES, ChaCha20)
59-
- **Code Obfuscation** support by using Obfuz to protect almost all code
60-
- **Dramatically improved** hot update code execution performance by migrating to HybridCLR
61-
- **Enhanced** game development experience (no more extra user procedure when writing any kinds of hot update code)
62-
- **MiniGame** support for WeChat, TikTok, Alipay and TapTap
63-
64-
> Minor Update:
65-
> - Upgrade **HybridCLR** to v8.6.0 (resolves building issues with latest Xcode)
58+
- **Fixed** development and server setting save issue
59+
- **Allowed** loading hot code's pdb file in order to debug in unity editor
60+
- **Updated** Nino to the latest verstion
61+
- **Updated** Unity to the latest 2022 LTS (fixing CVE)
6662

6763
[📋 View Complete Changelog](CHANGE.md)
6864

README_zh_cn.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,12 @@ JEngine是针对Unity开发者设计的**开箱即用**的框架,封装了强
5757
| **HybridCLR** | 运行时代码执行 | [GitHub](https://github.com/focus-creative-games/hybridclr) |
5858
| **YooAssets** | 运行时资源更新 | [GitHub](https://github.com/tuyoogame/YooAsset) |
5959

60-
## 🎉 最新功能 (v1.0.1)
60+
## 🎉 最新功能 (v1.0.2)
6161

62-
- **AssetBundle加密** 支持(XOR、AES、ChaCha20)
63-
- **代码混淆** 支持,使用Obfuz保护几乎所有代码
64-
- **大幅提升** 热更代码执行性能,迁移至HybridCLR
65-
- **增强** 游戏开发体验(编写热更代码时无需额外操作)
66-
- **小游戏** 支持微信、抖音、支付宝和TapTap
67-
68-
> 小更新:
69-
> - 更新 **HybridCLR** 到 v8.6.0 (解决新版Xcode打包问题)
62+
- **修复** development 和 server 设置的保存问题
63+
- **运行** 加载热更代码的pdb文件以在编辑器下断点调试
64+
- **更新** Nino至最新版本
65+
- **更新** Unity至最新的2022 LTS版本(修复CVE)
7066

7167
[📋 查看完整更新日志](CHANGE.md)
7268

UnityProject/Packages/com.jasonxudeveloper.jengine.core/Editor/CustomEditor/BootstrapEditor.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ private void CreateServerSettingsGroup()
7575
toggleButton.clicked += () =>
7676
{
7777
_bootstrap.useDefaultAsFallback = !_bootstrap.useDefaultAsFallback;
78-
serializedObject.Update();
78+
serializedObject.FindProperty(nameof(_bootstrap.useDefaultAsFallback)).boolValue =
79+
_bootstrap.useDefaultAsFallback;
80+
EditorUtility.SetDirty(_bootstrap);
81+
serializedObject.ApplyModifiedProperties();
7982
UpdateFallbackButtonState(toggleButton);
8083
UpdateFallbackServerVisibility();
8184
};
@@ -406,7 +409,10 @@ private void CreateDevelopmentSettingsGroup()
406409
playModeButton.clicked += () =>
407410
{
408411
_bootstrap.useEditorDevMode = !_bootstrap.useEditorDevMode;
409-
serializedObject.Update();
412+
serializedObject.FindProperty(nameof(_bootstrap.useEditorDevMode)).boolValue =
413+
_bootstrap.useEditorDevMode;
414+
EditorUtility.SetDirty(_bootstrap);
415+
serializedObject.ApplyModifiedProperties();
410416
UpdatePlayModeButtonState(playModeButton);
411417
};
412418
playModeButton.AddToClassList("toggle-button");

UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Bootstrap.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
using HybridCLR;
2727
using System;
2828
using System.Collections.Generic;
29+
using System.IO;
2930
using System.Reflection;
3031
using System.Threading.Tasks;
3132
using Cysharp.Threading.Tasks;
@@ -308,17 +309,20 @@ await MessageBox.Show("Error", $"Scene loading failed: {exception.Message}",
308309
#if UNITY_EDITOR
309310
// In editor, load directly from file system. Cannot read encrypted files. Encrypted files can only run on real devices.
310311
var hotUpdateDllBytes =
311-
await System.IO.File.ReadAllBytesAsync($"Library/ScriptAssemblies/{hotCodeName}");
312+
await File.ReadAllBytesAsync($"Library/ScriptAssemblies/{hotCodeName}");
313+
var hotUpdatePdbBytes = await File.ReadAllBytesAsync(
314+
$"Library/ScriptAssemblies/{Path.ChangeExtension(hotCodeName, "pdb")}");
315+
Assembly hotUpdateAss = Assembly.Load(hotUpdateDllBytes, hotUpdatePdbBytes);
312316
#else
313317
var dllHandle =
314318
package.LoadAssetAsync<TextAsset>($"Assets/HotUpdate/Compiled/{hotCodeName}.bytes");
315319
await dllHandle.Task;
316320
TextAsset hotUpdateDllAsset = dllHandle.GetAssetObject<TextAsset>();
317321
var hotUpdateDllBytes = hotUpdateDllAsset.bytes;
318322
dllHandle.Release();
323+
Assembly hotUpdateAss = Assembly.Load(hotUpdateDllBytes);
319324
#endif
320325

321-
Assembly hotUpdateAss = Assembly.Load(hotUpdateDllBytes);
322326
await LoadHotCode(hotUpdateAss);
323327

324328
// If we reach here, initialization was successful, break out of the retry loop
@@ -534,6 +538,10 @@ private async UniTask<bool> UpdatePackageImpl(ResourcePackage package,
534538
throw new NotSupportedException($"Target platform {targetPlatform} is not supported yet.");
535539
}
536540

541+
if (initParameters == null)
542+
throw new InvalidOperationException(
543+
$"Failed to create initialization parameters for package platform {targetPlatform} (current build target platform: {Application.platform})");
544+
537545
initOperation = package.InitializeAsync(initParameters);
538546
}
539547

UnityProject/Packages/com.jasonxudeveloper.jengine.core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.jasonxudeveloper.jengine.core",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"displayName": "JEngine.Core",
55
"description": "The solution that allows unity games update in runtime.",
66
"license": "MIT",
@@ -23,7 +23,7 @@
2323
},
2424
"dependencies": {
2525
"com.cysharp.unitask": "2.5.10",
26-
"com.jasonxudeveloper.nino": "4.0.0-preview.114",
26+
"com.jasonxudeveloper.nino": "4.0.0-preview.135",
2727
"com.tuyoogame.yooasset": "2.3.16"
2828
}
2929
}

UnityProject/Packages/manifest.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
"com.code-philosophy.obfuz": "https://github.com/focus-creative-games/obfuz.git",
44
"com.code-philosophy.obfuz4hybridclr": "https://github.com/focus-creative-games/obfuz4hybridclr.git",
55
"com.cysharp.unitask": "2.5.10",
6-
"com.jasonxudeveloper.nino": "4.0.0-preview.114",
6+
"com.jasonxudeveloper.nino": "4.0.0-preview.135",
77
"com.tuyoogame.yooasset": "2.3.16",
88
"com.unity.2d.sprite": "1.0.0",
99
"com.unity.2d.tilemap": "1.0.0",
10-
"com.unity.ai.navigation": "1.1.5",
11-
"com.unity.ide.rider": "3.0.34",
10+
"com.unity.ai.navigation": "1.1.6",
11+
"com.unity.ide.rider": "3.0.36",
1212
"com.unity.ide.visualstudio": "2.0.22",
1313
"com.unity.ide.vscode": "1.2.5",
1414
"com.unity.scriptablebuildpipeline": "1.21.25",

UnityProject/Packages/packages-lock.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@
3333
"source": "embedded",
3434
"dependencies": {
3535
"com.cysharp.unitask": "2.5.10",
36-
"com.jasonxudeveloper.nino": "4.0.0-preview.114",
36+
"com.jasonxudeveloper.nino": "4.0.0-preview.135",
3737
"com.tuyoogame.yooasset": "2.3.16"
3838
}
3939
},
4040
"com.jasonxudeveloper.nino": {
41-
"version": "4.0.0-preview.114",
41+
"version": "4.0.0-preview.135",
4242
"depth": 0,
4343
"source": "registry",
4444
"dependencies": {},
@@ -72,7 +72,7 @@
7272
}
7373
},
7474
"com.unity.ai.navigation": {
75-
"version": "1.1.5",
75+
"version": "1.1.6",
7676
"depth": 0,
7777
"source": "registry",
7878
"dependencies": {
@@ -88,7 +88,7 @@
8888
"url": "https://packages.unity.com"
8989
},
9090
"com.unity.ide.rider": {
91-
"version": "3.0.34",
91+
"version": "3.0.36",
9292
"depth": 0,
9393
"source": "registry",
9494
"dependencies": {
@@ -120,7 +120,7 @@
120120
"url": "https://packages.unity.com"
121121
},
122122
"com.unity.settings-manager": {
123-
"version": "2.0.1",
123+
"version": "2.1.0",
124124
"depth": 1,
125125
"source": "registry",
126126
"dependencies": {},
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
m_EditorVersion: 2022.3.52f1
2-
m_EditorVersionWithRevision: 2022.3.52f1 (1120fcb54228)
1+
m_EditorVersion: 2022.3.62f2
2+
m_EditorVersionWithRevision: 2022.3.62f2 (7670c08855a9)

0 commit comments

Comments
 (0)