A
A
alexander_grishin2020-10-08 16:01:20
Unity
alexander_grishin, 2020-10-08 16:01:20

IoC vs ECS for large Unity projects. What approach is better to use in the current realities?

Good afternoon!

Connected to a major multiplayer project using Strange IoC .

For the new version of the project, we select new principles / frameworks / architecture, and then the question is whether to select something new or continue working with Strange IoC. The task is to optimize the project as much as possible.

For the test, I created a couple of small projects and figured out how Strange IoC works, but I managed to pay attention to a few "nuances" that can cause performance drops in large projects, and specifically the rapidly growing number of commands and signals (if we are talking about the approach using Signals , not Dispatcher in Strange IoC).

Share your experience with IoC when developing Unity applications, maybe someone had experience with Strange IoC.

We are also considering the possibility of switching to ECS, but due to some problems with the compatibility of current developments - we are afraid, maybe someone also had experience with ECS and there is an approximate comparison of the performance of the IoC vs ECS approach.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexey Lykov, 2020-10-15
@WellMOR

Actually, quite a funny comparison, in my opinion.
ECS is usually opposed to the standard OOP approach). But I understand the question, you probably want to know how much faster DI in ECS will be faster than DI in the standard style?
It is difficult to judge, and, perhaps, not entirely correct.
I haven't used Stange IoC, but I guess ECS will be faster anyway). And in DI, and in general, by itself. But ECS, as it were, is not entirely about speed. Speed ​​is a by-product, pleasant but not essential.
ECS is about development speed, ease of adding new features, resistance to changes.
The standard UECS is still raw, but there are many third-party ECS frameworks that are friendly with Unity and are quite mature for large projects.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question