Skip to content

merge v0.8.0 update #461

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
Apr 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0a912c8
JEngine v0.8 preview
JasonXuDeveloper Jan 4, 2023
844eb2d
removed submodules
JasonXuDeveloper Jan 4, 2023
fe5278a
Update README.md
JasonXuDeveloper Jan 4, 2023
4b8d240
fixed FIndObjectsOfType bug
JasonXuDeveloper Jan 4, 2023
7c752f9
optimized cryptoMgr
JasonXuDeveloper Jan 5, 2023
0ad107c
optimized JStream and CryptoMgr
JasonXuDeveloper Jan 5, 2023
a36203a
optimized JBehaviour + optimized JStream + optimized LifeCycleMgr
JasonXuDeveloper Jan 5, 2023
2760e9b
optimized LifeCycleMgr
JasonXuDeveloper Jan 5, 2023
faa5046
optimized JStream
JasonXuDeveloper Jan 5, 2023
4ef1675
upload dependencies
JasonXuDeveloper Jan 5, 2023
1fa3096
optimized LifeCycleMgr + new feature UnsafeMgr + removed LitJson
JasonXuDeveloper Jan 6, 2023
f977bad
cleaned code + updated readme
JasonXuDeveloper Jan 6, 2023
cb88311
optimized JBehaviour + ClassBind/JBehaviour awake
JasonXuDeveloper Jan 8, 2023
b23e898
optimized JBehaviour/ClassBind/MonoBehaviour performance & GC
JasonXuDeveloper Jan 8, 2023
b787a8f
optimized MonoBehaviour.Invoke/InvokeRepeating performance & GC
JasonXuDeveloper Jan 8, 2023
654d449
updated readme
JasonXuDeveloper Jan 8, 2023
161a123
fixed LifeCycleMgr bug while destroying an registered inactivated object
JasonXuDeveloper Jan 10, 2023
5a84325
separated protobuf-net and localization + optimized file structure
JasonXuDeveloper Jan 13, 2023
95cfacc
fixed install issue
JasonXuDeveloper Jan 13, 2023
ff3d67b
unmanagedMemoryPool + coroutineMgr + optimization
JasonXuDeveloper Jan 16, 2023
4376bde
fixed unmanagedMemoryPool intersecting bug
JasonXuDeveloper Jan 16, 2023
01d9c25
JStream key optimization
JasonXuDeveloper Jan 18, 2023
aeae32f
update readme
JasonXuDeveloper Jan 25, 2023
edf7574
clean up code
JasonXuDeveloper Apr 9, 2023
5c1b25b
update ILRuntime
JasonXuDeveloper Apr 9, 2023
9cfec18
move unity-reorderable-list to 3rdParty
JasonXuDeveloper Apr 9, 2023
b5d302e
migrate to yooasset
JasonXuDeveloper Apr 9, 2023
149a5bc
clean up structure
JasonXuDeveloper Apr 10, 2023
f7a26f2
remove INIT_JE symbol
JasonXuDeveloper Apr 10, 2023
9b7643d
project setting
JasonXuDeveloper Apr 10, 2023
3bf5b25
officially support WebGL
JasonXuDeveloper Apr 10, 2023
119a264
fixed #457 + 0.8.0 release
JasonXuDeveloper Apr 11, 2023
6bb7b10
Update README_zh_cn.md
JasonXuDeveloper Apr 11, 2023
4fc6d14
Delete .gitmodules
JasonXuDeveloper Apr 11, 2023
f784d7f
v0.8.0
JasonXuDeveloper Apr 11, 2023
2651456
Merge branch 'development' of https://github.com/JasonXuDeveloper/JEn…
JasonXuDeveloper Apr 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.DS_Store
.idea/*
UnityProject/DLC/*
UnityProject/Bundles/*
UnityProject/Assets/Dependencies/JEngine/Core/.idea/*
UnityProject/.idea/*
UnityProject/HotUpdateScripts/.vs/*
Expand All @@ -10,7 +10,11 @@ UnityProject/obj/*
UnityProject/*.csproj
UnityProject/UnityProject.sln
UnityProject/HotUpdateScripts/obj/*
UnityProject/ProjectSettings/*
UnityProject/Assets/JEngine.lock
UnityProject/Assets/JEngine.lock.meta
UnityProject/Assets/Dependencies/ILRuntime/Generated/*
UnityProject/Assets/Dependencies/ILRuntime/Generated/*
UnityProject/Assets/Dependencies/ILRuntime/Generated.meta
UnityProject/Logs/Packages-Update.log
UnityProject/Sandbox/*
UnityProject/Logs/*
UnityProject/Build/*
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

23 changes: 23 additions & 0 deletions CHANGE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
## All Versions

### 0.8.0 (April 11 2023)

- **Supported** WebGL
- **Removed** JUI (will be redesigned shortly)
- **Optimized** LifeCycleMgr performance
- **Optimized** ThreadMgr features
- **Optimized** JStream performance
- **Optimized** JBehaviour performance
- **Optimized** MonoBehaviour performance
- **Optimized** FpsMonitor performance
- **Optimized** CryptoMgr interfaces
- **Optimized** JBehaviour/ClassBind Object/MonoBehaviour GC
- **Optimized** GetComponent(s)/FindObject(s)OfType performance
- **Switched** to YooAsset for asset management module (instead of Bundle Master)
- **NEW FEATURE** UnsafeMgr which provides unsafe (use for optimization) features
- **NEW FEATURE** UnmanagedMemoryPool which supports allocating unmanaged memory with pooling
- **NEW FEATURE** CoroutineMgr which supports executing/stopping coroutines from non-MonoBehaviour class
- **NEW STRUCTURE** Split JEngine source code to multiple packages





### 0.7.5 (September 25 2022)

- **Updated** ILRuntime to v2.1.0
Expand Down
122 changes: 48 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
<p align="center">
<img src="https://s4.ax1x.com/2022/01/16/7tP1V1.png" alt="logo" width="256" height="256">
<img src="https://socialify.git.ci/JasonXuDeveloper/JEngine/image?description=1&descriptionEditable=The%20solution%20that%20allows%20unity%20games%20to%20update%20in%20runtime.&font=Jost&forks=1&issues=1&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACRZJREFUeNrs279LW3sAxuGrJCU0GAIBkdJAzJCWFiHQFtpBiLqq%2BB%2B4iG46Fuxgl7iWOji5d7ezmKl0qCBkc2h18gcERFGwHdJDXYr11nhFb3K%2BzzOUEk5RXw%2F5JCenXc1m8x8AwtNtAgABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAEAAABAAAAQAAAEAQAAAEAAABAAAAQCgQyRM0D5WVlZWV1ftcBsajcanT5%2Fs8L%2BrVCrr6%2Bt28A6Ai6amporFoh2IsUKhYAQB4HLVarW3t9cOxNXk5KQRBIDLpdPp%2Bfn56E9TEMuX%2F5VKxQ4CwL8qFotTU1N2IH4WFhaMIABcYWRkZHx83A7ESTabnZiYsIMAcLXoTcDLly%2FtQGxEz%2F5RA%2BwgALRkbm7OTUHE6Xw2ggDQqnQ6PTs76wNhYqD8ix0EgGuI3gHMz8%2FbAS%2F%2FuQ3%2BJ3C7GxgYiBrw7ds3U9zEzs5Oo9G48GBvb%2B%2Fw8LBx7oCPf9tTV7PZtAKxV6%2FX37x582dcq9WqcQiWS0AAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAAAmACAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAEAQAAAEAAABAAAAQAgDhImIFiHh4e1Ws0OkVwu1%2FrBxWIxnU4bTQCgg21ubi4vL9vh%2Fv37IyMjrR9frVYHBgbsFgMuAUHo%2Bvv7jSAAQIjy%2BbwRBAAI8dk%2FmUzaQQCA4BSLRSMEy4fAhKtcLler1cBHuNb9P5ohABAT2Wy2UqnYgWC5BAQgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgAgACYgBLlcLpPJ2AEEgBC9evUqmUzaAQSA4ETP%2FhoAAkCgMpnM06dP7QACQIgePnzY399vBxAAQhS9CcjlcnYAASBEz58%2Fd1MQJExAECd6ItHT0%2FP7I4ODg%2Fv7%2B1tbWx36E52dnTUajSsPK%2FziBOBSXc1m0wrE3vHx8Z%2FP9bu7ux8%2FfuzQnyj6cWq12pWHLSwsvH371gnApVwCIlCpVKqjPwmo1%2Bt%2BiQgAXP%2B87%2B7OZrOd%2B%2F03fvF7RADg2qJn%2F6gBXv4jABCWdDqdSqU69%2Fv%2F%2Fv379va23yM350NggrCxsTEzM3P%2B92Qyef7y%2F%2FHjx69fv%2B64n6XF%2B3%2FOuQuIv3AbKEE4Pj6OGnDhwXv37pVKJeMQLJeAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAAATABAACAIAAACAAAAgAAAIAgAAA0IkSJiBYh4eHtVrtLr9iqVTq6en5%2BzFHR0c%2Ffvxo5936%2BvpSqZTzRwCgg21ubg4NDd3lV1xfX78yAHt7e1%2B%2BfGnn3SYnJwuFgvMnBlwCgjsyNjZ25bP%2F%2Bevr6I2CuRAAiI%2FR0dEWj4wCkM%2FnLYYAQBw8ePDg2bNnrR%2F%2F5MmTTCZjNwQAOt709PS1jk8mky9evIj%2BNB23x4fAhKtcLr979%2B5uvlYr9%2F9c%2Bq9OT0%2Fbbbe%2Bvj4njwBAZ8tms5VKpZ2%2Fw%2F%2FQDGidS0AAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAAAmACAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAEAQAAAEAAABACAmEmYIE4%2BfPhghEvt7Ow8evTowoP5fN4yCAAxefYXgL8olUoCAL9zCSgm6vW6Z39AAIJzcnLy%2Fv17OwACEJyVlZWDgwM7AAIQls%2BfP6%2BtrdkBEICwuPgDCECgFhcXowbYARCAsKyurtbrdTsAAhCWr1%2B%2Fuu8TEIAQLS0tufgD3ERXs9m0AoB3AAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAbeunAAMAsvP8Im%2FKPJcAAAAASUVORK5CYII%3D&name=1&owner=1&pattern=Circuit%20Board&pulls=1&stargazers=1&theme=Auto" alt="JEngine" width="640" height="320" />
</p>


<h3 align="center">JEngine</h3>

<p align="center">
The solution that allows unity games update in runtime.
<br>
<a style="text-decoration:none">
<img src="https://img.shields.io/github/license/JasonXuDeveloper/JEngine" alt="license" />
</a>
<a style="text-decoration:none">
<img src="https://img.shields.io/github/last-commit/JasonXuDeveloper/JEngine" alt="last" />
</a>
<a style="text-decoration:none">
<img src="https://img.shields.io/github/issues/JasonXuDeveloper/JEngine" alt="issue" />
</a>
<a style="text-decoration:none">
<img src="https://img.shields.io/github/languages/top/JasonXuDeveloper/JEngine" alt="topLanguage" />
</a>
Expand All @@ -38,110 +30,92 @@
</p>


# JENGINE v0.7.5

**JEngine is an out-of-the-box framework designed for Unity developers. It encapsulates powerful functions. Beginners can also get started quickly and easily create games that can be updated hotly.**
# JENGINE v0.8.0

The ```master``` branch is the latest version that the developers think can be used normally and will not have too many problems. It is recommended to use and has the most powerful functions (fixes bugs in versions 0.6 and 0.5 at the same time);
**JEngine is an out-of-the-box framework designed for Unity developers. It encapsulates powerful functions. Beginners can also get started quickly and easily create games that can be updated in runtime.**

The ```0.6.x``` branch is currently in use by most commercial projects, <u>complete content, sufficient documentation and videos, and will not be updated or maintained any more</u>;
The ```master``` branch is the latest version that the developers think can be used normally and will not have too many problems. It is recommended to use and has the most powerful functions (also it fixes the bugs in the old versions);

The ```0.7.x``` branch is currently in use by most commercial projects, it is the most popular version in 2022 with various useful and high performance features, <u>this branch will not be updated or maintained any more</u> (this branch has full documentations but few official tutorial videos);

The ```0.6.x``` branch was used by most commercial projects, it has <u>complete content, sufficient documentation and videos, and will not be updated or maintained any more</u>;

The ``0.5.x`` branch is being used by some commercial projects, <u>will not be updated or maintained</u>;

The ``development`` branch is the development branch. You are welcome to make changes and PRs in this branch after fork, and you are also welcome to submit issues!

**If you think JEngine is helpful to you, please give this framework a Star!**

## Requirement

- **Unity 2020.3.4+**
- .net framework 4.x / .net 4.x / net framework

## How to Download (VERY IMPORTANT)
## Packages

> Because JEngine uses Git's Submodule module to install submodules, downloading the source code of this framework is not recommended to download zip directly from the website. There are currently 3 download methods:
Different built-in and additional packages for JEngine

1. Method 1, download the zip directly, then go to UnityProject/Assets/Dependencies, unzip the zip inside (must do if you download the zip archive)
| Package Name | Description | Type | Link |
| -------------------- | ------------------------------------------------------------ | ---------- | ------------------------------------------------------------ |
| JEngine.Core | Supports hot update in runtime. <br />In addition, it provides secure, high performance features. | Built-in | [JEngine](https://github.com/JasonXuDeveloper/JEngine) |
| JEngine.AntiCheat | Prevents memory hack<br />(i.e. using GameGuardian to dump and modify memory). | Additional | [JEngine.AntiCheat](https://github.com/JasonXuDeveloper/JEngine.AntiCheat) |
| JEngine.Localization | Provides multi-lnguage feature in game. | Additional | [JEngine.Localization](https://github.com/JasonXuDeveloper/JEngine.Localization) |
| JEngine.Misc | Additional miscellaneous features. | Additional | [JEngine.Misc](https://github.com/JasonXuDeveloper/JEngine.Misc) |
| LitJson | Supports JSON serialization/deserialization<br />(as C# objects or JsonData) | Additional | [JEngine.LitJson](https://github.com/JasonXuDeveloper/JEngine.LitJson) |
| Protobuf-net | Supports protobuf serilization/deserialization | Additional | [JEngine.Protobuf-net](https://github.com/JasonXuDeveloper/JEngine.Protobuf-net) |
| MetaJUI | MetaJUI is a UI framework customized for JEngine. Of course, you can also transplant it to your own engineering projects through simple modifications. | Additional | [MetaJUI](https://github.com/Meta404Dev/MetaJUI) |
| MetaExcelDataTool | MetaExcelDataTool is an Excel table guide tool customized for JEngine. Of course, you can also transplant it to your own project through simple modifications. | Additional | [MetaExcelDataTool](https://github.com/Meta404Dev/MetaExcelDataTool) |

1. Method 2, first git clone and then install the submodule

```bash
git clone git@github.com:JasonXuDeveloper/JEngine.git
cd JEngine
git submodule init
git submodule update
````

2. Method 3, install submodules along with git clone (recommended)
## Dependencies

- [ILRuntime](https://github.com/Ourpalm/ILRuntime) v2.1.0 - execute C# code in runtime
- [YooAssets](https://github.com/tuyoogame/YooAsset) v1.4.10 - update resource in runtime
- [Unity-Reorderable-List](https://github.com/cfoulston/Unity-Reorderable-List) v1.0.1 - additional editor inspector tool

```bash
git clone git@github.com:JasonXuDeveloper/JEngine.git --recursive
````

> Note, the github address here can be replaced with a gitee address
>
> If an error is reported when installing the submodule, you need to configure the ssh key of Github (or Gitee)



## Stargazers over time

[![Stargazers over time](https://starchart.cc/JasonXuDeveloper/JEngine.svg)](https://starchart.cc/JasonXuDeveloper/JEngine)

## JEngine Benefits

The purpose of JEngine is to provide **lean, beautiful and efficient** code functions for game developers, and to make game developers **easier to make games**

The **Unity hot update framework** on the market, **no one has a lower learning cost than JEngine**, it is more **difficult to use, and it takes a lot of time to get started , run through the framework**;

And JEngine may take a few minutes to get started quickly, and it can run through the framework in a few hours at most. **No need to pay attention to the bottom layer of any hot updates, Just write the game code and make the game scene**!

### Old Project

For projects that need to transform old projects that do not contain hot updates into hot update projects, JEngine is the best choice.

It usually only takes a few days to get familiar with the framework process. Then, you only need to classify and organize the resources that need to be updated into the corresponding folder. Next, copy the code that needs to be updated into the hot update project. Finally, use MonoBehaviour to hang all the scripts on the Inspector. Re-drag through ClassBind (you can implement a tool yourself to simplify the process).

Under normal circumstances, it only takes about 1 month to access, and 80% of the business code does not need to be modified, 15% of the business code only needs to be optimized, and the last 5% of the business code needs to be modified only in unexpected situations. At the same time, if the project has the habit of dragging MonoBehaviour to GameObject, JEngine's ready-made solution will make you do more with less and make your project easily support hot update!

### New Project

JEngine is very suitable for small and medium-sized projects, especially for independent game developers. The framework is convenient, fast, and powerful. Developers can control it in a short time and master hot update at a very small cost, basically without learning the principle of hot update.

For new projects, you only need to pull a copy of the JEngine source code, then import various plug-ins and SDKs into it, and finally formulate your own project specifications to start making games happily. Unlike other hot update frameworks, JEngine Pay more attention to development efficiency and improve the experience of operating hot update projects in the editor, so the efficiency of development under the editor is far better than other hot update frameworks.

### Summarize

**JEngine** has complete documentation and frequent maintenance. As long as there is an issue, it will usually be resolved within 3 days. At the same time, the underlying hot update source code has been verified by a large number of online projects, so there is no need to worry about quality, performance, efficiency and other issues!

**If you think JEngine is helpful to you, please give this framework a Star!**



## Contributors

<img src="https://contrib.rocks/image?repo=JasonXuDeveloper/JEngine"/>

## v0.7.5 New Features

- **Updated** ILRuntime to v2.1.0
- **Optimized** code register workflow
- **Optimized** JStream buffer strategy
- **Optimized** ClassBind performance and GC
- **Optimized** JEngine Initialize procedure and performance
- **Optimized** LifeCycleMgr performance and GC
- **Optimized** ```FindObjectsOfType``` performance and GC
- **Optimized** JBehaviour performance and GC, removed its dependence to ```MonoBehaviour```
- **Optimized** Loom (Execute Actions on Main Thread) performance and GC, removed its dependence to ```MonoBehaviour```


## v0.8.0 New Features

- **Supported** WebGL
- **Removed** JUI (will be redesigned shortly)
- **Optimized** LifeCycleMgr performance
- **Optimized** ThreadMgr features
- **Optimized** JStream performance
- **Optimized** JBehaviour performance
- **Optimized** MonoBehaviour performance
- **Optimized** FpsMonitor performance
- **Optimized** CryptoMgr interfaces
- **Optimized** JBehaviour/ClassBind Object/MonoBehaviour GC
- **Optimized** GetComponent(s)/FindObject(s)OfType performance
- **Switched** to YooAsset for asset management module (instead of Bundle Master)
- **NEW FEATURE** UnsafeMgr which provides unsafe (use for optimization) features
- **NEW FEATURE** UnmanagedMemoryPool which supports allocating unmanaged memory with pooling
- **NEW FEATURE** CoroutineMgr which supports executing/stopping coroutines from non-MonoBehaviour class
- **NEW STRUCTURE** Split JEngine source code to multiple packages

[Click here to see the change log](CHANGE.md)



## Suggestions
## Recommendations

- [IFramework](https://github.com/OnClick9927/IFramework) - Simple Unity Tools
- [QFramework](https://github.com/liangxiegame/QFramework) - Your first K.I.S.S Unity 3D Framework.
- [TEngine](https://github.com/ALEXTANGXIAO/TEngine ) - Unity框架解决方案
- [MetaJUI](https://github.com/Meta404Dev/MetaJUI) - MetaJUI是为JEngine定制的UI框架,当然你也可以通过很简单的修改,移植到自己的工程项目
- [MetaExcelDataTool](https://github.com/Meta404Dev/MetaExcelDataTool) - MetaExcelDataTool是为JEngine定制的Excel导表工具,当然你也可以通过很简单的修改,移植到自己的工程项目
- [BundleMaster](https://github.com/mister91jiao/BundleMaster) - Unity资源加载大师
- [Nino](https://github.com/JasonXuDeveloper/Nino) - Definitely useful and high performance modules for C# projects, especially for Unity.
Loading