-
-
Notifications
You must be signed in to change notification settings - Fork 96
Home
This wiki is community-driven since, unfortunately, I realised that updating the wiki alone consumes too much time that I better invest in developing Svelto.ECS and its mini examples.
I believe that studying and running code is the best way to learn a new framework, so I put a lot of effort into maintaining the mini examples that are highly documented. With them, you should be able to learn Svelto.ECS. However, each mini example may show different pieces of information so you would need to study them all, even if implemented on a platform different from the one you intend to use.
The order of things you can do to learn Svelto.ECS is the following:
- Read the article https://www.sebaslab.com/whats-new-in-svelto-ecs-3-0/ and in general all the article with the Svelto tag from sebaslab.com
- Study the mini-examples, in order: No 5, No 2, No 7, No 4, No 6, No 1 (optionally the other ones). Study all of them even if they are not developed on the platform you intend to use. (Note that the DOTS version of Doofuses example (number 1) is VERY advanced and needs DOTS knowledge.
- Read the following article which is fundamental is you intend to mix ECS with OOP: https://www.sebaslab.com/oop-abstraction-layer-in-a-ecs-centric-application/
- if you are looking for a quick hello world check this mini example: https://github.com/sebas77/Svelto.MiniExamples/tree/master/Example5-Net-HelloWorld
- Read the article https://www.sebaslab.com/svelto-ecs-3-3-and-the-new-filters-api/
- Ask your FAQ kind of question on our Discussions (after you check the current answers): https://github.com/sebas77/Svelto.ECS/discussions
- Unit tests are full of hints too Svelto.ECS.Tests
- Ask all you need to ask on the Svelto discord channel: https://discord.gg/3qAdjDb
While if you want to understand the rationale behind using ECS you could read my articles (from the most recent to the oldest):
- OOP abstraction layer in an ECS-centric application (this article is important for starters!)
- ECS abstraction layers and module encapsulation
- The Quest for Maintainable Code and The Path to ECS
- The truth behind Inversion of Control – Part V – Entity Component System design to achieve true Inversion of Flow Control
- The truth behind Inversion of Control – Part IV – Dependency Inversion Principle
- The truth behind Inversion of Control – Part III – Entity Component System Design
- The truth behind Inversion of Control – Part II – Inversion of Control
- The truth behind Inversion of Control – Part I – Dependency Injection
- Inversion of Control with Unity – part 2
- Inversion of Control with Unity – part 1
There is a publicly published mind-map, editable by everyone. The idea is to write down in the mindmap all the main concepts of Svelto.ECS. It's another piece of documentation I won't have the time to maintain or even complete, so if you feel like it's a good idea and you know Svelto.ECS, please feel free to add information: https://mm.tt/1754393071?t=S5DhggUS9N
Note that I won't have any time to work on documentation as I will always be busy writing more articles on sebaslab.com, developing more Svelto.ECS features and writing new mini-examples and unit tests. Documentation is going to be absolutely a community-based effort, so your best chance is to share your insights on our discord channel.
if you are installing Svelto.ECS manually and not through OUPM, you need to add this in your manifest:
,
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [
"org.nuget.system.runtime.compilerservices.unsafe"
]
}
]
looking like:
{
"dependencies": {
...
},
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [
"org.nuget.system.runtime.compilerservices.unsafe"
]
}
]
}
The old wiki is still linked just for reference: https://github.com/sebas77/Svelto.ECS/wiki/Old-Wiki,-Svelto-1.x-and-2.x