Skip to content

Commit 713a9dd

Browse files
release v1.0.5
release v1.0.5
2 parents 4526aa2 + f1b6908 commit 713a9dd

File tree

9 files changed

+55
-31
lines changed

9 files changed

+55
-31
lines changed

CHANGE.md

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

3+
## 1.0.5 (October 29 2025)
4+
5+
- **Fixed** missing HotUpdate Monobehaviour issue
6+
- **Supported** Standalone mode
7+
38
## 1.0.4 (October 15 2025)
49

510
- **Fixed** `AddComponent<T>` and `GetComponent<T>` issue under editor

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ 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.4)
56+
## 🎉 Latest Features (v1.0.5)
5757

58-
- **Fixed** `AddComponent<T>` and `GetComponent<T>` issue under editor
58+
- **Fixed** missing HotUpdate Monobehaviour issue
59+
- **Supported** Standalone mode
5960

6061
[📋 View Complete Changelog](CHANGE.md)
6162

README_zh_cn.md

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

60-
## 🎉 最新功能 (v1.0.4)
60+
## 🎉 最新功能 (v1.0.5)
6161

62-
- **修复**编辑器下 `AddComponent<T>``GetComponent<T>` 问题
62+
- **修复**丢失热更MonoBehaviour问题
63+
- **支持**单机模式
6364

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

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
using HybridCLR.Editor.Commands;
3131
using HybridCLR.Editor.Settings;
3232
using JEngine.Core.Encrypt;
33+
using JEngine.Core.Update;
3334
using Nino.Core;
3435
using Obfuz.Settings;
3536
using Obfuz4HybridCLR;
@@ -628,7 +629,9 @@ private ScriptableBuildParameters CreateBuildParameters(int packageVersion)
628629
EditorSceneManager.OpenScene(_settings.startUpScenePath);
629630
}
630631

631-
copyOption = _settings.packageName == FindObjectOfType<Bootstrap>().packageName
632+
var bootstrap = FindObjectOfType<Bootstrap>();
633+
copyOption = _settings.packageName == bootstrap.packageName ||
634+
bootstrap.targetPlatform == TargetPlatform.Standalone
632635
? EBuildinFileCopyOption.ClearAndCopyAll
633636
: EBuildinFileCopyOption.None;
634637
}

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

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -287,25 +287,6 @@ await MessageBox.Show("Notice",
287287
updateStatusText.text = "Decrypting resources...";
288288
await SetUpDynamicSecret();
289289

290-
// Enter hot update scene
291-
updateStatusText.text = "Loading scene...";
292-
var sceneLoadCallbacks = new SceneLoadCallbacks
293-
{
294-
OnStatusUpdate = status => updateStatusText.text = GetSceneLoadStatusText(status),
295-
OnProgressUpdate = progress =>
296-
{
297-
downloadProgressText.text = $"{Mathf.RoundToInt(progress * 100)}%";
298-
downloadProgressBar.value = progress;
299-
},
300-
OnError = async exception =>
301-
{
302-
await MessageBox.Show("Error", $"Scene loading failed: {exception.Message}",
303-
ok: "Retry");
304-
}
305-
};
306-
downloadProgressBar.gameObject.SetActive(true);
307-
await LoadHotUpdateScene(package, selectedHotScene, sceneLoadCallbacks);
308-
309290
// Load hot update DLL
310291
updateStatusText.text = "Loading code...";
311292
#if UNITY_EDITOR
@@ -319,7 +300,7 @@ await MessageBox.Show("Error", $"Scene loading failed: {exception.Message}",
319300
break;
320301
}
321302
}
322-
303+
323304
if (hotUpdateAss == null)
324305
{
325306
throw new Exception($"Hot update assembly {hotCodeName} not found in editor mode.");
@@ -334,6 +315,24 @@ await MessageBox.Show("Error", $"Scene loading failed: {exception.Message}",
334315
Assembly hotUpdateAss = Assembly.Load(hotUpdateDllBytes);
335316
#endif
336317

318+
// Enter hot update scene
319+
updateStatusText.text = "Loading scene...";
320+
var sceneLoadCallbacks = new SceneLoadCallbacks
321+
{
322+
OnStatusUpdate = status => updateStatusText.text = GetSceneLoadStatusText(status),
323+
OnProgressUpdate = progress =>
324+
{
325+
downloadProgressText.text = $"{Mathf.RoundToInt(progress * 100)}%";
326+
downloadProgressBar.value = progress;
327+
},
328+
OnError = async exception =>
329+
{
330+
await MessageBox.Show("Error", $"Scene loading failed: {exception.Message}",
331+
ok: "Retry");
332+
}
333+
};
334+
downloadProgressBar.gameObject.SetActive(true);
335+
await LoadHotUpdateScene(package, selectedHotScene, sceneLoadCallbacks);
337336
await LoadHotCode(hotUpdateAss);
338337

339338
// If we reach here, initialization was successful, break out of the retry loop
@@ -484,6 +483,20 @@ private async UniTask<bool> UpdatePackageImpl(ResourcePackage package,
484483
#endif
485484
break;
486485
}
486+
case TargetPlatform.Standalone:
487+
{
488+
var fileSystemParams = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(
489+
bundleConfig.Decryption);
490+
fileSystemParams.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES,
491+
manifestRestoration);
492+
493+
initParameters = new OfflinePlayModeParameters
494+
{
495+
BuildinFileSystemParameters = fileSystemParams
496+
};
497+
498+
break;
499+
}
487500
case TargetPlatform.WeChat:
488501
{
489502
YooAssets.SetOperationSystemMaxTimeSlice(100);

UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Update/TargetPlatform.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ namespace JEngine.Core.Update
2828
public enum TargetPlatform
2929
{
3030
Regular,
31+
Standalone,
3132
WeChat,
3233
Douyin,
3334
Alipay,

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.4",
3+
"version": "1.0.5",
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.135",
26+
"com.jasonxudeveloper.nino": "4.0.0-preview.137",
2727
"com.tuyoogame.yooasset": "2.3.16"
2828
}
2929
}

UnityProject/Packages/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
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.135",
6+
"com.jasonxudeveloper.nino": "4.0.0-preview.137",
77
"com.tuyoogame.yooasset": "2.3.16",
88
"com.unity.2d.sprite": "1.0.0",
99
"com.unity.2d.tilemap": "1.0.0",

UnityProject/Packages/packages-lock.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"depth": 0,
1212
"source": "git",
1313
"dependencies": {},
14-
"hash": "747ee88fd391441f9471992ffc294c36d1b35b09"
14+
"hash": "b582c1f24bda5676c54dc66529e9b1d6f9aead47"
1515
},
1616
"com.code-philosophy.obfuz4hybridclr": {
1717
"version": "https://github.com/focus-creative-games/obfuz4hybridclr.git",
@@ -33,12 +33,12 @@
3333
"source": "embedded",
3434
"dependencies": {
3535
"com.cysharp.unitask": "2.5.10",
36-
"com.jasonxudeveloper.nino": "4.0.0-preview.135",
36+
"com.jasonxudeveloper.nino": "4.0.0-preview.137",
3737
"com.tuyoogame.yooasset": "2.3.16"
3838
}
3939
},
4040
"com.jasonxudeveloper.nino": {
41-
"version": "4.0.0-preview.135",
41+
"version": "4.0.0-preview.137",
4242
"depth": 0,
4343
"source": "registry",
4444
"dependencies": {},

0 commit comments

Comments
 (0)