wait, ecs libraries auto-run?

I’ve been experimenting with the various ecs packages like physics and hybrid renderer and I’m noticing that they are full of secret systems which auto-run and do secret things. For example the renderer package automatically converts my renderers into something usable by the renderer system (V2) which in turn renders them. I’m not asked to opt-in. It just happens. Unfortunately, I can’t find a way to opt out either.

Normally when I use I new library I don’t understand it very well so I start by using a small subset of its functionality. For example I import a math library and use the linear interpolation only. But I don’t expect it to also use bicubic interpolation on the data and Furier transform the result. And I don’t want to learn how to stop it from doing those operations because they are unknown unknowns to me.

Is this how ECS libraries are supposed to work? You import a game library from the asset store and it automatically runs, shoots your enemies, pickups you pickups, does you laundry, mines a hundred bitcoins and rides into the sunset satisfied.

What do you mean by

Any example, or snippet?

in package Hybrid Renderer 0.1.1

  1. MeshRendererConversion auto-runs for all converted GameObjects
  2. RenderMeshSystemV2 runs because of 1

I didn’t find a way to opt-out of system 1. It’s also non-public.

You probably mean that it has only

protected override void OnUpdate()

Can you make own system, if that an option?

I generally try to not interfere with built in systems, as they likely to change, due to DOTS in dev.

@Azzara You can disable these (if you must) using ICustomBootstrap or using your own world initialization code.