I don't see anything new even when considering the entire context. I have worked on similar data-oriented entity component systems for over 10 years. Unity was actually very late to the game and Sony had to push them to give it more priority.
Edit: Some examples, including the use of chunks, or what I call batches:
Not sure about Archetype specifically, but discussions on twitter about this have pointed out talks from GDC going back to at least 2002 when it comes to ECS.
Yes, but their claim is specifically about (quoting my other comment):
> It appears to describe a data-oriented component entity system in which all data types within a component are assigned to chunks (batches) in such a way that they can be optimally grouped with data from components of other entities for optimal memory access.
This is not new either. I and others have done this for years. The term "archetype" is something they made up to describe something that has been done many time before.
Edit: It appears that the term "archetype" was introduced somewhere in the last few years. Not sure then if it is specifically coming from Unity.
Without commenting on whether this patent should be granted or not, I really don't think it is about ECS in general. The patent has to do with an automated system for organizing component data into arrays and chunks. The key word being "automated". You give it definitions for component data, start creating entities with combinations of those components, and it does all the rest (at runtime).
There might very well be prior art for that as well but any ECS system where the layout scheme has been defined in advance would not be relevant one way or the other. At least that is my read of all of this.
Then doesn't a patent have to more precisely describe the "scheduler" mechanism or can they leave that out? If so. How can I know that I am not infringing the patent? My entity component system which is > 4 years old already does automatic scheduling with batches (what Unity calls chunks) to optimize the memory layout.
Edit: Some examples, including the use of chunks, or what I call batches:
https://stackoverflow.com/a/15414523
https://old.reddit.com/r/C_Programming/comments/6nxfzp/going...