sschmid / Entitas

Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
MIT License
7.08k stars 1.11k forks source link

Entitas turns 7 - and is FREE now #973

Closed sschmid closed 2 years ago

sschmid commented 3 years ago

Hi Entitas community!

Entitas turns 7 🎉🎉🎉🎉🎉🎉🎉

I'd like to celebrate this with you and with the support from Popcore we're making the Entitas Asset Store version FREE! 🤩


I'd like to thank everyone in this amazing community for the great support and for using Entitas! A special thanks to everyone who contributed to Entitas, either with PRs, commenting issues, improving the wiki, running the Entitas Discord Server and sharing their knowledge and time to help others, attending our local ECS meetups or in any other way! Thank you! You're awesome!

Many of you are already around here for many years (thats's insane 🤩) and use Entitas every day. More and more people are joining constantly. ECS is the future and at Popcore we recognize and embrace this technology. All of our games are built with Entitas and after more than 300 million downloads we want to make Entitas available for everyone. For everyone who joined recently, allow me to give a little bit of "context" (pun intended 😉)


Entity Component System Architecture (ECS) changed the way we think about code and how we create games. ECS helps us to create a robust and flexible codebase which is easy to test and easy to extend and allows us to write highly reusable code one component at a time.

After its introduction at Unite Europe 2015 and Unite Europe 2016 Entitas became the default ECS framework for Unity due to its amazing performance and ease of use. https://github.com/sschmid/Entitas-CSharp is the most popular open-source ECS on GitHub and has been ported to many other languages by the amazing Entitas community. Entitas is open-source and you can make it "your Entitas". A new code generator which is leveraging the power of Microsofts .NET Compiler Platform Roslyn was a game changer and made working with Entitas a pure pleasure. The Entitas Asset Store version which contains this code generator was very well received and enjoys a solid 5 star rating. Some of you shared their experience and projects with the community or used the #madeWithEntitas hashtag on Twitter. I've seen amazing projects that you've all built for all kinds of platforms like iOS, Android, Switch, AR, VR, Console or PC; from smaller games with a couple of systems and components to huge codebases with several thousand systems and components. Well known studios like Popcore, Ubisoft, Gram Games, Wooga and others used Entitas to create games and some of you told me about projects in other industries like VW, Airbus and the Air Force.


I've been using ECS since 2012 and from what I've seen, there is a clear trend in the industry towards ECS. At Popcore we recognize and embrace ECS. With many successful titles shipped and over 300 million downloads, Entitas is a reliable and powerful foundation that allows us to have extreme code reusability across all of our games and release new games in days. We want to enable more people to create awesome games with Entitas and making it free is the first step. We're using it for all of our games and we will keep improving Entitas to make it even better. It's a great time to start with Entitas.

Big thanks to Popcore for supporting Entitas and enabling making it free and for being a great place to work! We're also hiring :) If you love creating games and want to work with Entitas and the latest tech, make sure to use this link to apply:

I'm hiring!

Apply now


Entitas Asset Store should be free soon and to celebrate 7 years of Entitas I will reimburse everyone who bought Entitas in 2021!

Happy birthday and happy coding :) Simon

JesseTG commented 3 years ago

Holy crap!

aroman commented 3 years ago

Awesome news! Thank you so much Simon and Popcore :)

I'm not even mad I bought it at full price just a few months ago... it's so good, and has saved me so much time... it was a bargain at whatever it cost before, now it's the best deal ever.

JesseTG commented 3 years ago

What does this mean for maintenance? Will you be bringing on more maintainers (either internally or externally)?

rglobig commented 3 years ago

What does this mean for maintenance? Will you be bringing on more maintainers (either internally or externally)?

Important question. Many in the community already own it and hope for improvement and support. There is still potential for growth. I very much welcome the step that Entitas is now free. However, there are still many open questions about the future. Starting with better integration and easier access. Many already fail when setting up Jenny. It's a great tool, but I think in its current state it's very hard to get into, especially for beginners.

sschmid commented 3 years ago

This is the order I currently have in mind:

Onboarding new users has to be easier, so reworking the wiki + having new tutorials will be essential.

c0ffeeartc commented 3 years ago

Solid move! Congratulations everyone! 🥳 🎉 🎂

WeslomPo commented 3 years ago

Congrats!

HitCache commented 3 years ago

@sschmid That ordered list is helpful, thank you. Do you have any rough eta/timeline when you think this item might be ready?

  • Update code generators to use extension methods instead of partial classes to support Unity packages and asmdefs
atkdefender commented 3 years ago

Best news since the Lunar New Year. You are so generous. Thx a lot, Simon & Popcore.

AVAVT commented 3 years ago

I'm still desperately in need of open-sourced example of ECS architecture.

The biggest obstacle while working with Entitas imo is that ECS is not the same as Unity's component system or traditional OOP, so previous architecture experiences don't provide much help. Time after time I got pretty deep into a project just to realize the decision made at the beginning was a mistake :(

AskoldMakaruk commented 3 years ago

Hey, maybe you can provide links to download entitas wihout unity asset store. It's dumb that I have to download 15gb of unity just to get jenny.exe file

tranxuandanptit commented 3 years ago

Tks you and Popcore <3

sschmid commented 3 years ago

Unfortunately Unity cannot bulk refund without a customer request in advance. If you bought Entitas in 2021 you can request a refund and I will accept.

StupydHors commented 3 years ago

This is amazing. Any concerns I should have moving to the asset store version? Is it even possible?

wesclarkemag commented 3 years ago

I used to use Entitas years ago, I enjoyed it. But looking at the repo activity it looks like a graveyard. So I am a bit confused, is this still updated?

JustinSchneider commented 3 years ago

@wesclarkemag I think it's because the library has been so stable and matured enough that frequent updates simply aren't necessary. We're using Entitas on a near-production project and have had zero issues with it using Unity 2019.4. That's not to say that the library is perfect and couldn't stand some improvements, but what needs we've had we added ourselves through custom plugins.

wesclarkemag commented 3 years ago

@JustinSchneider Ah, OK. That seems like quite an achievement (not meaning to sound incredulous!). I'll have to do some more research. But, genuine question, how is it keeping pace with other ECS systems, namely Unity ECS. I've been out of the loop, so is this even a fair comparison anymore?

JustinSchneider commented 3 years ago

In fairness, I haven't even looked into Unity ECS in a while, as back when I did while it was in preview it didn't seem anywhere close to using. I was also less experienced with ECS methodology in general and may have just been having trouble wrapping my head around it.

Entitas is a bit of a pain to setup initially, in my opinion, but once you do it's fairly straight-forward. I don't love having to use a code generator due to the complications it introduces with debugging, but for everything else that Entitas does, it's definitely worth it -- again, for us, specifically.

I think it's worth checking out again, at the very least.

Leopotam commented 3 years ago

I don't love having to use a code generator due to the complications it introduces with debugging

@JustinSchneider there are some pure C# ecs-framework implementation that provides simple api without codegen and works faster than entitas: https://github.com/Doraku/Ecs.CSharp.Benchmark

wesclarkemag commented 3 years ago

Thanks @JustinSchneider I'll be sure to check out Entitas again with a more in depth look. I am wondering what the plans are regarding Entitas now that it has gone with popcore? Don't see any details on this.

JustinSchneider commented 3 years ago

@Leopotam That's cool and all, but I'm not about to convert our entire project when we're days away from UAT, lol. I'll give it a look for consideration in personal projects, though. Thanks!

jtuchel commented 2 years ago

@sschmid may I ask if there are any new updates on this?