- C# runs cross platform. Unity3D with C# runs cross platform and Gadot as cross platform.
- .NET 6+ (and 8.X is current) is fully compatible with Linux.
- Nobody's depending on .NET framework <4.X anymore. Nobody. That's the version of .NET you're thinking of that's locked into windows. Anything built with .NET Core, or .NET 6 or higher is fully cross platform.
10 years ago you'd have been correct, but a lot changes in a decade, and a lot of your understanding is currently no longer accurate.
Additional reading for the roadmap from the Gadot team.
They're using Mono with a plan to move to .NET 5 (the merger version between .NET Core and .NET Framework) and then on to .NET 6+.
In the meantime, Mono is fully cross platform and has no dependencies on windows components. The Mono team became the .NET Core team at Microsoft.
It's a ton of fun. 🙂 I mean that. It makes programming fun vs C++. I think you'll really enjoy it is that's where you're coming from.
It's also, stylistically, much cleaner and slicker than Java