(Funny I am doing a hackathon this weekend where we are writing a game with Unity and I'm using Visual Studio for the first time in 15 years! It's pretty amazing how big a role C# plays in game development as it is used in many other frameworks like Godot)
As for game engines that support C#/.NET/Mono, there's actually quite a few:
Unity https://docs.unity3d.com/6000.0/Documentation/Manual/scripti...
Godot https://docs.godotengine.org/en/stable/tutorials/scripting/c...
Stride (formerly Xenko) https://doc.stride3d.net/latest/en/manual/scripts/index.html (even the new physics engine they're integrating is written in C#, bepuphysics2, it's really cool how deep into the engine code you can dig, it's like 90% C#)
MonoGame https://docs.monogame.net/articles/getting_started/3_underst...
Flax https://docs.flaxengine.com/manual/scripting/index.html
And a few others (like NeoAxis, that one is really niche, but I think their voxel LOD idea was cool, even if it didn't run well for me). I wonder why Java doesn't see the same level of attention, since the runtime itself is pretty good and the modern versions of the language are reasonably nice, yet for Java it seems that there's only LWJGL and jMonkeyEngine.
That said, .NET is really good even when it comes to webdev, I have to admit that ASP.NET feels way more coherent than working with the likes of Spring Boot in Java sometimes does, I guess I'd say that it's more of a focused and less fragmented experience.
I actually used to really like Visual Studio, but around Visual Studio 2015 it felt like very subsequent release was more bloated and slower, and I eventually jumped ship for Rider. But by that point, I was really only using C# for Unity projects, and the rest of the time I was using JS/TS and Python.