プログラミング言語の中では、Windowsパソコンの普及によりWindowsベースの言語が非常によく利用される傾向がありました。
しかしこれらのフレームワークは非常に独創的で複雑な面も多かったため、これらに汎用言語であるC言語の要素を取り入れたのがC#です。
当初はWindows独自の要素をふんだんに取り入れたために寄せ集めのような言語となってしまっており、非常に使いにくいものと悪評が多かったのですが、
新たなバージョンではこの点が非常に整備されC言語の持つコンポーネント性が
生かされるものとなりました。
C#の特徴は、それぞれのコンポーネントが動作の重要な機能を個別に持っており、これをブロックを組み合わせるように積み上げていくことで複雑な処理を行うことができるようになることです。
一方、Windows独自のものはそれぞれのプログラムを上手に組み合わせないと正常に動作しないと言う特徴があったので、C#の登場によって直感的にWindows上でプログラムを作ることができるようになりました。
これをさらに効率的に利用するために、Unity(ユニティー)を利用して効率的に組み上げる方法があります。
Unityはコンポーネントを組み合わせることで簡単にプログラミングを行うことができる開発エンジンですが、これにC#を組み合わせることで非常にシンプルな考え方でプログラムを組み上げることができるのです。
基本的にはC#で作成したそれぞれのスクリプトをUnityで組み合わせていくだけで、簡単に目的の動作をするプログラムを作成することができるため、より直感的に複雑な動作を生み出すことが可能となるのが特徴です。
従来ではUnityに使用する言語としてJavaScriptもよく利用されてきましたが、厳密にはUnity上で使用する場合には多少の加工が必要となるほか、コンポーネントが複雑になるため、後で理解しようとしてもなかなか理解できないものとなってしまうことが多く、現在ではほとんど利用されていません。