みなさんUnityで開発を行う場合、どのプログラム言語を使っていますか?
また今からUnityを始める人は、何のプログラム言語を使う予定でしょうか?
この記事を閲覧している人は、おそらくJavaScriptをその候補に入れているのではないでしょうか?
しかし実は、一昔前まで3言語が候補としてよく上がりましたが…
今現在はC#一択となっています。
今回はその理由について、実際にUnityの最新版を見ながら学んでみましょう。
それではよろしくお願いします。
Unity最新版の現状
まずは見てみよう!
まずは見てもらうのが手っ取り早いでしょう。
以下はUnity5の頃の、スクリプト作成時の画像です。
作成スクリプトの言語選択に、JavaScriptがあるのがわかると思います。
そして次はUnity2018の、スクリプト作成時の画像です。
・・・言語の選択ボタンが消滅していますね…
そして実際に作ってみると…
作られたのはC#のファイルでした。
なんで無いの?
スクリプト生成時の選択肢からJavaScriptが消えたのは、正確には「Unity 2017.2ベータ版」からです。
詳細は以下のUnityのブログに記述があります。(英語の記事です)
参照元:https://blogs.unity3d.com/jp/2017/08/11/unityscripts-long-ride-off-into-the-sunset/
要約すると…
UnityのC#の代わりに使用できるJavaScriptのようなスクリプト言語であるUnityScriptの廃止予定が始まりました。
との内容です。
一昔前には「C#,JavaScript,Boo」と3つの中からスクリプトを選べたUnityですが、BooもJavaScriptも廃止が決まり、今現在は事実上「C#一択」になっているということですね。
もう絶対に使えないの?
とはいえ、もうすでに使えないというわけではありません!
試しにjsを自作して、Unityに投げ込んでみましょう。
そして中に以下のプログラムを書き込み…
#pragma strict function Start () { Debug.Log("Hello"); // ログを書き出す }
実行してみましょう。
ちゃんとログが書き出されました!
どうやら動きはするようです。
現時点では、新規で作れはしないものの実行は可能なようですね!
なんの言語を選べばいいの?
実行出来るとはいえ、公式が廃止を発表していることに変わりはありません。
いつ完全に使えなくなってしまうかわからないわけなので、ここは無難にC#を利用するのが正解でしょう。
ただ「C#はJavaScriptに比べ難しそう…」なんてハードルを感じている人もいると思います。
しかしピンチはチャンスと言いますし、これを機会に新たな言語としてC#を学んでみるのも良いのでは無いでしょうか。
今までJavaScriptを使っていた人にとっても、次のステップアップに繋がるはずです。
プログラムは初だという人にとっても、現状C#が主流だということは、その分サンプルプログラムや参考記事も多いということですので、逆に着手しやすいと思います。
以下の記事では、初心者向けのC#書籍を紹介しています。
また以下の記事は、UnityでC#を使う場合の実例をいろいろまとめています。
ぜひどちらも参考にし、C#へ挑戦をしてみましょう。
まとめ
今回はJavaScriptの、Unity上での現状について見てきました。
結論的には、廃止が決定されています。
これから着手する人はC#で開発を開始することをオススメします。
また、すでにJavaScriptで開発を行っている人も、早い段階で移行の検討を行っておきましょう。