Can someone explain the need for Bakers?

Why do we need to have Bakers, Baking Systems, and the Monobehaviour authoring, while we only had one Authoring class before? Is it optimization or separation of concerns or something? Can you give me an example case where old authoring wasn’t enough?

Conversion systems existed in 0.51 and below and we had IConvertGameObjectToEntity instead of bakers

Workflow wise the only thing that has really changed is they separated the Baker (logic) from the MonoBehaviour (data) and that really doesn’t make a huge difference.

(This obviously ignores the previous generate authoring component attribute)

This little footnote is pretty critical though. Unless I’m missing something this is actually a huge change. My asset pipeline is entirely game object prefabs with authoring components (and some converters). Switching over to 1.0 will be a huge nightmare for me, and for any substantial game that was on .51 or lower. I’ll have to recreate my whole pipeline basically, for hundreds of components and items that are part of my game.

ECS is not production ready and it was labelled as Experimental, a lot of this API may still change,

Unity touched on the reasoning here

For some this change means lots of work reworking existing code, and if you want runtime conversion you will have to roll your own. It’s unfortunate, but if you want to use 1.0 you’ll have to bite the bullet