From a hobbyist dev who dabbled with Unity for several years:
The worst part about the engine imo is the fragmentation of the entire ecosystem.
There are three major rendering pipelines (HDRP, URP, Legacy), each with their own specific quirks, configurations and dependencies, which are entirely incompatible with eachother.
Foundational packages (input handling, networking etc.) change/break way too often or have been deprecated for years without replacement (uNet) and rely on 3d party packages.
And don’t even start with the documentation for any of the above. Multiple times have I found documentation for a rendering callback or ShaderLab parameter claiming it would be compatible with URP only to find that the documentation was supposed to be for HRDP.
From a hobbyist dev who dabbled with Unity for several years: The worst part about the engine imo is the fragmentation of the entire ecosystem.
There are three major rendering pipelines (HDRP, URP, Legacy), each with their own specific quirks, configurations and dependencies, which are entirely incompatible with eachother.
Foundational packages (input handling, networking etc.) change/break way too often or have been deprecated for years without replacement (uNet) and rely on 3d party packages.
And don’t even start with the documentation for any of the above. Multiple times have I found documentation for a rendering callback or ShaderLab parameter claiming it would be compatible with URP only to find that the documentation was supposed to be for HRDP.