Thinking that C# is just Unity is a MASSIVE disservice to C# and dotnet imo. Unity's usage of C# is really crummy, basically relegating a very powerful language to working as a weird scripting language.
Absolutely. C# in Unity always seemed to me like a square peg in a round hole.
From my perspective (teaching game programming classes), it's incredibly clunky for beginners when compared to others. Unity needed a tightly integrated, noob-proof scripting language. Despite C# being the primary language, it's integration and setup with the rest of Unity seems surprisingly lacking, and, like you're referencing, you don't even get convenient use of the broader C# / Mono / .net ecosystem, which makes skills more portable. Even the "bad old days" of Flash/ActionScript were much easier for students, and results in more portable coding skills (e.g. at least transitioning to Web / JavaScript from Flash / ActionScript is easier)
It's much easier to teach same lessons / concepts using Godot, though sadly Unity is much better known. Hopefully the present pricing chaos might shift the needle a bit on this!
I am curious, what exactly is missing in the latest LTS version from .Net what makes it so clunky to use for students? Afaik it is pretty solidly close to actual .Net 4.7 nowadays.
C++ is pretty good by itself but I end up using mostly C for actual functions, QT, wxwidgets and a few others utilise C++ to a degree but my god does it get messy without the help of a visual aid (blueprints, formbuilder etc)
Agreed, I feel like if someone starts their C# journey exclusively in Unity, they won't have a solid foundation in the actual language, just that specific implementation of it as a scripting language.