Unity認定プログラマー試験を１週間で何とかした話

この記事は [「Unityゆるふわサマーアドベントカレンダー 2019」](https://qiita.com/nkjzm/items/7c933bb5c772a0b75512) 23日目の代理投稿です。昨日は @Sunmax0731 さんの[「Unityとモバイル端末からのセンシング」](https://qiita.com/Sunmax0731/items/890f83b40a2c2a20391b)でした。

# Unity認定プログラマー試験を１週間で何とかした話

怪しい学習商材みたいなタイトルですみません。

先日、Unity認定プログラマーの試験を受験しました。私は締切がある方が燃えるタイプなので、 **学習期間を1週間に設定** して受験勉強しました。

その時の話を書こうと思います。



**注意**： **あくまで個人の体験記です。学習のペースは人それぞれですので、無理に期限を設定する必要はないと思います！ご自身のペースで勉強することをオススメします！**



# 試験を申し込んだ

まずは受験を申し込みました。実はこの申込が最初の難関かもしれません。（英語なのでちょっとわかりずらい）

こちらのUnityの公式サイトにアクセスしてください。
https://certification.unity.com/ja/products/certified-programmer



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/96055448-45e1-765b-0c97-11618f4ad012.png)



`今すぐ登録` をクリックすると、Pearsonという試験予約のサイトに飛びます。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/1a5a013c-2880-6ca1-9cb7-5cff482cd472.png)


このサイトが英語なので、慣れていないとちょっとわかりずらいんですが、実は右側にある `日本語` というリンクをクリックすれば、以下のように日本語になります！（私は後から知りました）


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/6e20b7f6-ae55-5daf-29c2-72767b1ac0d7.png)


後は、アカウントを作ったりサインインしたりして、画面にしたがって試験会場や日程を選んで予約するだけです。

試験会場は全国各地にあるようなので、行きやすいところを選ぶと良いと思います。

ただ、試験会場によって試験の日程頻度が異なるようです。私が受験予約した `新宿駅前テストセンター1` は、ほぼ毎日試験が実施されているみたいなので、とにかく早く受験したい人にはオススメです。



# 学習教材はCourseraに決めた

初日に学習教材を探しました。以下の３つを見つけました。

- [Unity公式コースウェア 6ヶ月](https://unityedustore-global2.pearsonvue.com/unity-certified-programmer-courseware-6-months/p/UCPC-6M_KFDP)
- [VRアカデミー](https://vracademy.jp/unity.html) （日本語）
- [coursera](https://www.coursera.org/specializations/unity-certified-programmer?skipBrowseRedirect=true&skipRecommendationsRedirect=true&tab=inactive)

courseraさんが **7日間の無料トライアル** というのをやっていたので、courseraさんにしました。勉強期間を1週間に設定していたのでちょうどよかったです！

以下の４つのコースがあるので、1日半で1コースのペースを目標に勉強することに決めました。

- [Core Interaction Programming](https://www.coursera.org/learn/core-interaction-programming)
- [Application Systems Programming](https://www.coursera.org/learn/application-systems-programming)
- [3D Interactions and Navigation](https://www.coursera.org/learn/3d-interactions-and-navigation)
- [3D Art and Audio Pipeline](https://www.coursera.org/learn/3d-art-and-audio-pipeline)





# コースウェアは小テストだけやった

早速、 [Core Interaction Programming](https://www.coursera.org/learn/core-interaction-programming) の無料トライアルを始めました。



![1567734667497.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/f924ff8a-0294-6429-af60-eccc456c46e5.png)



どんなレッスン内容なのか具体的に書くのはまずいと思うので、雰囲気だけ書きますが、ストーリー仕立ての動画や文章でUnityについてとても丁寧に解説してくれます。

**これらの動画は試験対策に特化したレッスンではなく、Unityエンジニアを育成するためのレッスン** という印象を受けました。とてもわかりやすかったです。

ただし、 **全て英語です。** 

（実は日本語モードというのがあるのですが、2019年8月時点では、ほんの一部の動画・記事しか翻訳されていませんでしたので、あまり利用はしませんでした。）

動画をいくつか見ると、たまに小テストがあります。 **この小テストこそが試験対策に特化したレッスンです！** 

最初の内は、動画を全て見ていたのですが、あまり学習時間に余裕がなかったので、途中からは **小テストだけをやるようにしました。**

Unityのプロジェクトを作って提出する課題もあったのですが、こちらもやりませんでした。（courseraさん、Unityさんすみません！）



# ゲーム業界の英語が少し難しかった

小テストも英語で出題されます。小テストに時間制限は特にないようなので、ゆっくりと翻訳サイト等を活用しながら解きました。

私がつまづいた英語は `Level` です。レベルというと、 `キャラクターの成長度を表す数値` みたいな固定概念が私にはあったのですが、levelを `地形` みたいな意味で使っている小テストがあり、戸惑いました。

アクションゲームとかで最初のステージをレベル１、その次のステージをレベル２と言ったりしますが、そこから派生してステージの地形のことをレベルと呼ぶようになったのかな？と想像します。（ただの憶測です）



# 間違えた問題は2017.4の公式マニュアルで復習した

問題を間違えたら、[Unity マニュアル (2017.4)](https://docs.unity3d.com/ja/2017.4/Manual/UnityManual.html) と [Unityスクリプトリファレンス (2017.4)](https://docs.unity3d.com/ja/2017.4/ScriptReference/) を読んで復習しました。なんで2017.4なのかというと、最新版だと日本語に翻訳されていない記事が多いのですが、 **2017.4のマニュアルはいい具合に日本語に翻訳されているからです！** 



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/e0d76063-f947-955e-f4d9-4a0a3ef7544e.png)



# 受験した

私が受験予約した `新宿駅前テストセンター1` は、新宿駅南口から初台方面に少し歩いたところにありました。駅近で助かります。

現地についたらすぐに受験できるわけではなく、

- 受付（身分証明書が2種類必要）
- 書類の記入
- 顔写真の撮影
- 私物のロッカー収納（財布やスマホ等、すべての私物をロッカーに預けます）

等の作業がいくつかありますので、試験開始時間ギリギリに到着しない方が良いと思います。

試験開始時間になると部屋へ案内されます。

指示された机に座り、PCに表示されてる `試験開始` のボタンを押したら、カウントダウンが始まります。

問題数は60問で時間は105分でした。ゆっくり解いたせいか、時間は余らずギリギリでしたｗ

`試験終了` ボタンを押すと、**すぐに `合格` という結果が表示されました！**

一瞬、何のことかわかりませんでしたが、じわじわと嬉しさがこみあげてきました。



# 試験の内容

内容について詳しく書くのはまずいので、傾向だけを少し書きます。

- 仕様書を読んでどんな実装が最適なのを選択する
- バグ有のソースコードを読んでどんなバグが発生するかを選択する
- ソースコードを読んで、どこを改修すればパフォーマンスが向上できるかを選択する

こんな感じの問題が多かったような気がします。

一般的なソフトウェア開発知識だけでは難しく、Unityの知識がないと解けない問題が多かったので、Unityマニュアルの熟読が攻略のカギかなと思いました。



# 3日後にメールが届いた

合格したので早速、認定書やバッジをダウンロードしようとしたのですが、すぐにはダウンロードできませんでした。

3日くらいたったころにメールが届き、無事に認定証がダウンロードできるようになりました！



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/6b2f487a-5c1a-990f-bc66-ce2b7f73387a.png)



# 認定書をダウンロードした

認定書の入手方法も少しわかりずらかったので、忘れないうちに手順を載せておきます。

まず、メールに記載されている [Unity Certification platform] (https://www.certmetrics.com/unity/) にログインします。上部の `Certifications` をクリックしてから右側にある `PDF Certificate` をクリックすると、認定書がダウンロードできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/c371aa43-7c8d-3568-a7ad-cd6fd8a3b9ce.png)



# さいごに

無事に合格できて安心しました。ちなみにcourseraの無料トライアルはすぐに解約しました。（courseraさんすみません！）

今回受験にあたり以下の記事を参考にさせていただきました。わかりやすい記事をありがとうございます。

- [Unity 認定プログラマー試験に合格しました](https://blog.hololab.co.jp/entry/unity-certified-programmer)
- [Unity認定試験のスクリプト勉強範囲と個人的に感じている合格のメリットについて](https://qiita.com/YuukiOgino/items/2d00c5372f26c0bb35f2)

[「Unityゆるふわサマーアドベントカレンダー 2019」](https://qiita.com/nkjzm/items/7c933bb5c772a0b75512) 24日目の担当は [@reximology](https://twitter.com/reximology) さんによる [「Unity 内部のコンパイラを追ってみた」](https://ryu-rand.hatenablog.com/entry/2019/08/24/000000) です。