Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

ECS for Unity with full game state automatic rollbacks

License

NotificationsYou must be signed in to change notification settings

chromealex/ecs

Repository files navigation

ME.ECS

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 rudp/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

WarningThis repository not always contains actual submodule, so you should check the latest changes insubmodule

Using submodule

  1. Download or add as a submodule this repositoryhttps://github.com/chromealex/ecs-submodule.
  2. Create an empty file calledcsc.gen.rsp inside Assets folder. Your file should have the pathAssets/csc.gen.rsp.
  3. Add packages (seePackage Dependencies section).
  4. Be sure your submodule folder has a nameAssets/ecs-submodule orAssets/ECS-submodule.
  5. You are ready toInitialize Project.

Using Unity Package Manager

  1. Create an empty file calledcsc.gen.rsp inside Assets folder. Your file should have the pathAssets/csc.gen.rsp.
  2. OpenPackages/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 toInitialize 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

Pong Out - a classic pong game with fully functioning multiplayer made with ME.ECS

Submodule Repository

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

FAQ

FAQ

Glossary

LinkDescription
Video TutorialsHere are some links to youtube channel which shows how to use some features
ClassesAll classes and structures used in ME.ECS
Memory AllocatorHow to use memory allocator
Deterministic OperationsDeterministic Operations like Random and GetHashCode in collections
BurstHow to use burst
World OperationsHow to operate the world
Default ModulesDescribe default modules included in ME.ECS by default
Create WorldDescribe how to create new world and set up your empty project
Create FeatureHow to create new feature
Create SystemHow to create new system
Create ModuleHow to create new module
Create EntityHow to create new entity
Create ComponentHow to create new component
Create FilterHow to create new filter
Create MarkerHow to create new marker
Create TimersHow to create timers
Create ViewsHow to register prefab in ME.ECS
Send User InputHow to send user inputs to systems
Send UI EventsHow to send events from UI to systems
Receive User InputHow to receive markers in systems
Send and Receive RPC CallsHow to register object inNetworkModule, send and receive RPC packages
DefinesDefine usage
Data ConfigsHow to create and use data configs
Global EventsHow to create and use global events
Code GeneratorsCode Generators usage

ME.ECS Add-ons

NoteTo install modules you can useME.ECS/Add-ons menu (all packages listed here:https://github.com/chromealex/ecs-submodule/blob/master/Addons.md).

Pathfinding

License: MIT
Pathfinding implementation: AStar, FlowField, NavMesh
https://github.com/chromealex/me.ecs-pathfinding
                                                                                                               

Physics

License: Unity
Unity Physics port (DOTS) with fixed-point math
https://github.com/chromealex/me.ecs-physics
                                                                                                               

Input

License: MIT
Input implementation for mouse/touch
https://github.com/chromealex/me.ecs-input
                                                                                                               

Destroy

License: MIT
Additional API to destroy entities by the time
https://github.com/chromealex/me.ecs-destroy
                                                                                                               

Goal-Oriented Action Planning (GOAP)

License: MIT
Goal-Oriented Action Planning (GOAP) implementation
https://github.com/chromealex/me.ecs-goap
                                                                                                               

Data Config Generator

License: MIT
Data Config Generator for Google Spreadsheets
https://github.com/chromealex/me.ecs-dataconfiggenerator
                                                                                                               

Addressable Views

License: MIT
Additional API to be able load addressables
https://github.com/chromealex/me.ecs-viewaddressables
                                                                                                               

Collections: DataObject

License: MIT
DataObject collections
https://github.com/chromealex/me.ecs-collections-dataobject
                                                                                                               

Collections: Intrusive

License: MIT
Intrusive collections
https://github.com/chromealex/me.ecs-collections-intrusive
                                                                                                               

Discord

https://discord.gg/SxJJPPNsSf

Contact Me




Inspired by


Mushroom Wars 2
Steam, iOS, Android, Switch, XBOXOne, PS4

Projects


Wild Wars
Mobile (iOS/Android)


Qubix Infinity
WebGL


Unreleased Project #1
Mobile (iOS/Android)


[8]ページ先頭

©2009-2025 Movatter.jp