ME.BECS now is available https://github.com/chromealex/ME.BECS
ME.ECS
Installation
Warning
This repository not always contains actual submodule, so you should check the latest changes in submodule
Using submodule
- Download or add as a submodule this repository https://github.com/chromealex/ecs-submodule.
- Create an empty file called
csc.gen.rspinside Assets folder. Your file should have the pathAssets/csc.gen.rsp. - Add packages (see Package Dependencies section).
- Be sure your submodule folder has a name
Assets/ecs-submoduleorAssets/ECS-submodule. - You are ready to Initialize Project.
Using Unity Package Manager
- Create an empty file called
csc.gen.rspinside Assets folder. Your file should have the pathAssets/csc.gen.rsp. - Open
Packages/manifest.jsonfile. - Add ME.ECS to your dependencies section:
{
"dependencies": {
[HERE ARE OTHER PACKAGES]
"com.me.ecs": "https://github.com/chromealex/ecs-submodule.git"
}
}
- You are ready to Initialize Project.
Package Dependencies
"com.unity.collections": "1.2.3",
"com.unity.ui": "1.0.0-preview.18",
"com.unity.addressables": "1.19.9",
"com.unity.burst": "1.6.5",
"com.unity.mathematics": "1.2.6",
"com.unity.localization": "1.0.5",
"com.unity.profiling.core": "1.0.0"
Example Repository
Submodule Repository
https://github.com/chromealex/ecs-submodule
FAQ
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 |
| Memory Allocator | How to use memory allocator |
| Deterministic Operations | Deterministic Operations like Random and GetHashCode in collections |
| Burst | How to use burst |
| World Operations | How to operate the world |
| 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 |
| Create Views | How to register prefab in ME.ECS |
| 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 |
ME.ECS Add-ons
Note
To install modules you can use ME.ECS/Add-ons menu (all packages listed here: https://github.com/chromealex/ecs-submodule/blob/master/Addons.md).
Pathfinding |
|---|
Pathfinding implementation: AStar, FlowField, NavMesh https://github.com/chromealex/me.ecs-pathfinding |
Physics |
|---|
Unity Physics port (DOTS) with fixed-point math https://github.com/chromealex/me.ecs-physics |
Input |
|---|
Input implementation for mouse/touch https://github.com/chromealex/me.ecs-input |
Destroy |
|---|
Additional API to destroy entities by the time https://github.com/chromealex/me.ecs-destroy |
Goal-Oriented Action Planning (GOAP) |
|---|
Goal-Oriented Action Planning (GOAP) implementation https://github.com/chromealex/me.ecs-goap |
Data Config Generator |
|---|
Data Config Generator for Google Spreadsheets https://github.com/chromealex/me.ecs-dataconfiggenerator |
Addressable Views |
|---|
Additional API to be able load addressables https://github.com/chromealex/me.ecs-viewaddressables |
Collections: DataObject |
|---|
DataObject collections https://github.com/chromealex/me.ecs-collections-dataobject |
Collections: Intrusive |
|---|
Intrusive collections https://github.com/chromealex/me.ecs-collections-intrusive |




