Unity works as a game development platform which lets you create 2D or 3D games using .NET and C#. You can build games which run on over 25 platforms across the Web, TV, mobile, desktop, gaming consoles, VR, and AR. You can develop Unity games on both macOS and Windows, and use Visual Studio to get robust debugging capabilities.
MonoGame is a .NET game development platform which supports both C# and F# as programming languages. It is also open-source. You can create games for the major desktop and mobile operating systems and many modern gaming consoles. The MonoGame development tools can be accessed on macOS, Windows, and Linux.
The CRYENGINE C# framework lets you build games using C# as the programming language and .NET. Their development tools can be accessed for Linux and Windows, and you can use the CRYENGINE Extension to develop games without ever drifting from Visual Studio.