Need help with ecs?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

chromealex
200 Stars 20 Forks MIT License 516 Commits 0 Opened issues

Description

ECS for Unity with full game state automatic rollbacks

Services available

!
?

Need anything else?

Contributors list

# 562,383
C#
ecs-fra...
rts
Unity
1 commit

ME.ECS - it's ECS implementation for Unity Engine with full state automatic rollbacks. In general ME.ECS could be used for multiplayer real-time strategy games (or any tcp-based) because of Network support out of the box with automatic rollbacks. You can set up tick time for your game and ME.ECS will store your state and automatically sync game instances using minimum traffic (just user RPC calls, no full game sync required).


License: MIT

Installation

Using submodule

  1. Download or add as a submodule this repository https://github.com/chromealex/ecs-submodule.
  2. Create an empty file called
    csc.gen.rsp
    inside Assets folder. Your file should have the path
    Assets/csc.gen.rsp
    .
  3. In Package Manager install Burst (tested with version 1.5.3).
  4. In Package Manager install Unity Collections (tested with version 1.0.0-pre.3). Note: to find unity collections you need to choose "Add package from git URL" and fill it with "com.unity.collections".
  5. In Package Manager install Unity UI Toolkit (tested with version 1.0.0-preview.16). Note: to find unity ui toolkit you need to choose "Add package from git URL" and fill it with "com.unity.ui".
  6. In Package Manager install Unity Mathematics (tested with version 1.2.1).
  7. In Package Manager install Unity Addressables (tested with version 1.18.13).
  8. Be sure your submodule folder has a name
    Assets/ecs-submodule
    or
    Assets/ECS-submodule
    .
  9. You are ready to Initialize Project.

Using Unity Package Manager

  1. Create an empty file called
    csc.gen.rsp
    inside Assets folder. Your file should have the path
    Assets/csc.gen.rsp
    .
  2. Open
    Packages/manifest.json
    file.
  3. Add ME.ECS to your dependencies section:
{
  "dependencies": {
    [HERE ARE OTHER PACKAGES]
    "com.me.ecs": "https://github.com/chromealex/ecs-submodule.git"
  }
}
  1. You are ready to Initialize Project.

Example Repository

https://github.com/chromealex/ecs.example

Submodule Repository

https://github.com/chromealex/ecs-submodule

Glossary

| Link | Description | | ------ | ----- | | Video Tutorials | Here are some links to youtube channel which shows how to use some features | | Classes | All classes and structures used in ME.ECS | | Deterministic Operations | Deterministic Operations like Random and GetHashCode in collections | | Default Modules | Describe default modules included in ME.ECS by default | | Create World | Describe how to create new world and set up your empty project | | Create Feature | How to create new feature | | Create System | How to create new system | | Create Module | How to create new module | | Create Entity | How to create new entity | | Create Component | How to create new component | | Create Filter | How to create new filter | | Create Marker | How to create new marker | | Create Timers | How to create timers | | Register Prefabs | How to register prefab in ME.ECS | | Instantiate View | How to instantiate view from previously registered prefab | | Update Views | How to update views with entity data | | Send User Input | How to send user inputs to systems | | Send UI Events | How to send events from UI to systems | | Receive User Input | How to receive markers in systems | | Send and Receive RPC Calls | How to register object in NetworkModule, send and receive RPC packages | | Defines | Define usage | | Data Configs | How to create and use data configs | | Global Events | How to create and use global events | | Code Generators | Code Generators usage | | Pathfinding Package | Here is Pathfinding Package readme | | Serializer Package | Here is Serializer Package readme | | Data Config Generator | Data Config Generator with Google Spreadsheets |

Discord

https://discord.gg/FFMSjQau

Contact Me

Telegram: https://t.me/chromealex E-Mail: [email protected] Facebook: https://www.facebook.com/chrome.alex

How It Works

Update

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.