Code Monkey home page Code Monkey logo

jengine's Introduction

JENGINE v0.4.8

JEngine is a streamlined and easy-to-use framework designed for Unity Programmers.

topLanguage size issue license last

QQ Group ID: 921271552

Will hold one live broadcast on 19th of August, 2020

中文文档

Wiki Page, tutorials are in here

Zhihu Article

Gitee link (Clone faster in China)

What can JEngine do?

  • Hot-update solution

    • Resource hot update & management is based on XAsset which JEngine's author has contributed into.
    • Code hot update is based on ILRuntime which JEngine's author has also contributed into its Unity Project.
    • Encrypts your hot-updatable codes and resources, codes will go into your assetbundles, assetbundles will be encrypt within VFS by XAsset, and also, your codes will be encrypted in AES-128 ECB mode
    • Auto bind hot update scripts to gameObject, no need to write codes to add stuffs
  • Own Action solution

    • Less code, does more

    • Can be Run in Main Thread

      As we know Task.Run in Unity will run in a new thread, which is not able to call most Unity APIs, now JAction found a solution of using Loom.

  • Own UI solution

    • Method-Chaining style makes codes prettier and easier to visualize

    • Easier to manage lifecycle

      • Can easily set up what you want the UI element to do in specific time
    • Bindable to data

      • UI can be binded to a data, once data has changed, it will call the method that you has binded
  • Own Behaviour based on MonoBehaviour

    • More friendly to manage lifecycle

      • You can make loop easier using JEngine
  • Own Resource Management based on XAsset

    • Support generic method
    • Async/Sync methods
  • Auto bind scripts from Hot-Update DLL to GameObjects & Prefabs

    • Want to make scripts from hot-update project on to GameObject? Too much to write codes to add it? Here is a solution!
    • Fill in namespace, and class of a hotupdate scripts, it will automatically bind to a GameObject
    • Can set values of public/private/static fields automatically
    • Supports numbers, bools, strings, GameObject and Components on GameObject
  • Object Pool soulution

    • MUCH MORE Enhances the performencerather than usingInstantiate method
      • With this solution, you don't have to repeat instantiate gameObject
      • Just tell JObjectPool what gameObject you will repeatedly create, and how many you except to create at the start, it will do it for you
      • Request PoolObject to get the GameObject
    • Easy and powerful
    • With algorithm which fairly controls gameObjects
  • Data persistence solution

    JEngine now supports JSaver, which is a data persistance tool

    What can JSaver do?

    • Convert data into string/JSON string
    • AES encryption
    • Save to local storage
    • Load data from local storage (supports generic method)
    • Judge if has key in local
    • Delete local Key data
  • More to explore!!!

JEngine has its own purpose to help developers write powerful codes which are streamlined and beautiful; and to help developers easier making their games.

If you enjoy using JEngine, please give this repo a star!

Latest Features

  • Right Click to copy GameObject Path from hierarchy
  • Bug fix on release dll
  • Bug fix on Build Setting scenes

Click here to see all version updates

Future Features

  • Supports local hot-update resources development in Unity Editor (Done)
  • Encrypt Hot-update DLL and decrypt in runtime
  • Object Pool which significantly improves performance rather than using Instantiate method
  • JPrefab, a better way to manage Prefab from Resources
  • JUI with more extended APIs
  • UI Special Effects
  • Optiimize logics which can improve process speed (As always doing it)
  • Unity Editor FTP Tool (Maybe)

What is Hot update and Why

Click here to have a read

Directory Structure (IMPORTANT)

Please clone this framework into your project and keep this directory structure

.
├── Assets
│   ├── Dependencies
│   ├── HotUpdateResources
│   │   ├── Controller
│   │   ├── Dll
│   │   ├── Material
│   │   ├── Other
│   │   ├── Prefab
│   │   ├── Scene
│   │   ├── ScriptableObject
│   │   ├── TextAsset
│   │   └── UI
│   ├── Init.unity
│   └── Scripts
│       ├── Init.cs
│       ├── InitILrt.cs
│       └── APIs
├── Builds
├── DLC
├── HotUpdateScrpts

Description for those Directories

Click here to have a read

JEngine Hot Update Logics

flowchart

Development Environment

  • Debuging Unity Engine Version: 2019.3.13f1 (Please use at least this version)

  • .net Environment: .net 2.0 standard

  • Operating System: MacOS 10.15.5

    Definityly supports windows

Recommend Repositories

  • XAsset - A more streamlined, efficient and secure Unity Resource Management Solution for you.
  • IFramework - Simple Unity Tools

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.