> For multiplayer there was the original UNet, then the FPS Multiplayer Demo stack, then HLAPI/MLAPI, now we're getting "Netcode for GameObjects".
This doesn't seem like the correct timeline of events. Anyway, if you want a clearer picture why they decided to throw the packages away, I recommend reading the source and/or trying to use them. For your reference: https://github.com/needle-mirror/com.unity.multiplayer-hlapi
> That also means their new tech stack rewrite for ECS won't get multiplayer support until they release "Netcode for ECS" at some later date.
Uhhhh? The package is literally right there. It's one of the very earliest ECS packages they published, I think. They also reaffirmed that the package is in active development internally. https://docs.unity3d.com/Packages/com.unity.netcode@0.51/man...
> There's stuff like buying Bolt and then depreciating it months later for Unity Visual Scripting.
Bolt is Unity Visual Scripting. I really don't know what you find so offending here (maybe except Unity's inability to develop their own tools in-house).
> It's like they have a ton of teams working on rewriting the engine but none of them communicate and often find out they've been rewriting the same feature as another team.
I can't come up with a single example of this. Unity occasionally has a tendency to develop a "vnext" tool while still supporting a "legacy" tool, which seems great for backwards compatibility (and for long-running projects), but it just keeps confusing people endlessly. I don't like Unity, but hell, I don't envy them for constantly having to deal with this shit either.