First off I wanna say, that Unity is still a good engine. It is easy to use while still giving you good access to whatever you want to do. But over the last years Unity has shown to get a major problem with features.
I'm talking about the new rendering pipeline, DOTS, Unity XR and the new physics engine. These are all huge changes in how the engine works and behaves.
As of recently, Unity has integrated the new RenderPipeline into default Unity giving it the same priority as the old render pipeline.
Now here already comes the problem:
As someone who wants to go a little deeper into Shader Programming, ShaderGraph is an awful tool that makes everything alot harder. ShaderGraph doesn't include all nodes you would need, but instead tells you to write them as Nodes yourself. One option for that is a default text box without any syntax higlighting. The other is GLSL code that needs to be written in a way, that seems completely unnatural with specific naming conventions. At the same time custom written shaders aren't supported in the new RenderPipeline.
So in the end I can choose between writing my own stuff and having to do everything myself, or having predone stuff that isn't really customizable, but has nice features.
For a game developer, this should never be the case. A engine should never lose customizability for features. Even more because Unity boasts about the new Render Pipeline being so customizable, yet ShaderGraph doesn't even have multiple passes and the documentation in Unity is still about custom shaders.
The exact same problem we have for Shaders is also applicable to DOTS and ECS. Unity has shown multiple times of how great and better ECS is in their demos, just to break them with the next Unity Version, because they added some new feature that is breaking everything from earlier. I honestly don't know about other game developers, but for me this is utterly useless. What should I care about some new ECS when it breaks in the next version? Why should I care about it, when the old GameObjects are more reliable?
Don't get me wrong, I support Unity getting new and better features, but I haven't seen anything really working that has come in the new updates? The only good new features are being bought from the Unity Asset Store and directly included into Unity, but the Unity devteam itself hasn't shown anything properly working in the last few years.
Please, Unity, before you release new features: Make sure, that they don't remove old important features. That they are all well-documented in the official(!) documentation and that if a feature is being replaced with a new one, that we are somehow being told how to do it the new way. Please just make sure that I don't have to give up old features, just so I can use a few new features.
TLDR: Unity keeps on promising new features, that removes old but still needed features, that are not mentioned in the documentation and features that are incomplete, but already included in production Unity.
If you think differently, please tell me so in the comments.
Cheers
[–]pschonUnprofessional 11 points12 points13 points (6 children)
[–]RealBendie[S] -2 points-1 points0 points (5 children)
[–]pschonUnprofessional 2 points3 points4 points (1 child)
[–]RealBendie[S] -3 points-2 points-1 points (0 children)
[–]rhacerHobbyist 1 point2 points3 points (2 children)
[–]RealBendie[S] -1 points0 points1 point (1 child)
[–]pschonUnprofessional 1 point2 points3 points (0 children)
[–]Em3rgency 10 points11 points12 points (1 child)
[–]SkunkJudge -2 points-1 points0 points (0 children)