one thing that frustrates me a lot about Unity, as someone whose only other experience with game engines is the Source engine, is how complicated and un-abstractable the components are
like instead of telling Unity “I want to make a prop_physice“ I have to tell it
“hi Unity I would like [an entity that contains a mesh and a mesh renderer and a collider and a material for the mesh renderer and a rigidbody]”
or instead of telling Unity “I want a func_door_rotating“ I have to tell it
“I want [an entity that contains a mesh and a mesh renderer and a collider and a material for the mesh renderer and also I’m going to write custom C# code to tell you how to rotate that door when the player presses use on it and also I’m going to write custom C# code to tell you what a player is and also I’m going to write custom C# code to tell you what it means to press use on something]”
like you have to explain everything to Unity from scratch and even after you’ve explained everything to Unity you can’t just abstract that into a neat little box like func_door or trigger_brush you have to specifically open the entity and be like “okay so this has a mesh and a mesh renderer and a collider and a material for the mesh renderer and it has some custom C# code so I think this is probably a func_door?” every single time. infuriating
but this doesn’t just make it hard to understand What Anything Is. it also makes it way harder to configure anything because like
in the Hammer editor if I select a func_door_rotating I see a neat little menu that lets me configure which direction the door rotates, whether it’s locked, what noises it makes when opening or closing, etc.
but if I open the Unity equivalent of a func_door_rotating I would probably see:
like all of the stuff that I actually want gets buried under so much noise and there’s no way to filter out the noise. I don’t even think there’s any way to write a note to myself to be like “here’s where to find the settings that you want”?