ArgumentException: Unknown Type:`ECS.Systems.EffectTriggerSystem`1[ECS.Components.Effects.EffectSpeed]` All ComponentType must be known at compile time. For generic components, each concrete type must be registered with [RegisterGenericComponentType].
I made generic isystems work in 1.0.8, so enjoy! (Edit: you have to say [assembly: RegisterGenericSystemType(typeof(YourSystem))], just like for generic components.)
Mmm that’s harder. I’m skeptical personally, but you never know. The people who could do that (i.e. the sourcegenerator people) are currently hard at work trying to bring iteration time down, which I suspect you might prefer…?
Um, due to internal process snafus, this apparently did not make it into 1.0.8. Sorry for the confusion! I’m trying to figure out what release it will end up in.
Unity.Entities.CodeGen.EntitiesILPostProcessors: (0,0): error error DC3002: MySystem: [RegisterGenericJobType] requires an instance of a generic value type
Is your system generic? Like MySystem? Then you also need to declare that in the typeof.
If not, you just need to register the generic job and not the system.
but if I remove RegisterGenericSystemType I get another error when calling AddSystemManaged:
ArgumentException: Unknown Type:`MyGameSystem` All ComponentType must be known at compile time. For generic components, each concrete type must be registered with [RegisterGenericComponentType].
Hm, that’s odd that this is thrown.
I have [DisableAutoCreation] on the base class. When implemented, the system is automatically added so I never need to call AddSystemManaged.
[DisableAutoCreation]
public partial class RenderingDOTSPositionSyncEngine:SystemBase
{
}
world.AddSystemManaged(new RenderingDOTSPositionSyncEngine());
that’s because RenderingDOTSPositionSyncEngine is not found inside the TypeManager stuff and AddSystemManaged now checks for it. I couldn’t find a work around yet.