ECS v 0.1.1 DefaultWorldInitializer ignores DisableAutoCreation attribute of the base class

Hey, everybody.

I have a small question related to the transition to ECS v 0.1.1.

I have several systems in my project that do not require autocreation. For convenience, I made a base system class where I added the attribute [DisableAutoCreation], and if I need a system without autocreation, I inherit it from this base system

It works well on ECS v 0.1.0 but after updating to version 0.1.1, it doesn’t. The log is full of warnings like:

W/Unity: Missing default ctor on {system} (or if you don’t want this to be auto-creatable, tag it with [DisableAutoCreation])

So I have two questions:

  1. Why does DefaultWorldInitializer ignore the [DisableAutoCreation] attribute of the base class?
  2. Is there a way to fix this without adding [DisableAutoCreation] to each particular system?

Thanks

  1. Maybe a design decision to allow non-abstract base system that was not intended to be included in auto creation? Or simply they don’t want unexpected problem from inheriting attributes.
  2. You can add [assembly: DisableAutoCreation] to an assembly containing the system instead.