👏

iOSアプリをUnityで開発するための環境構築でやった方がいいと思ったこと

2020/12/24に公開

当初環境構築全般を書こうかと思ってたんですが、Unityをダウンロードする、みたいな話は普通にマニュアル見た方がいいだろうなと思ったので、もうちょいTips集的に書こうと思います。

Unityの標準エディタをVSCodeにする

Unity本体もエディタ持ってますが、時代はVSCodeということでVScodeを使っています。
なんかチュートリアルのなかで「VSCodeを標準にする?」的なダイアログが出て、イエスにしたら勝手にVSCodeで紐づいたような気もしますが、定かではないです。
[Unity] > [Prefetrence] > External Tools > External Script Editorで「Visual Studio Code」を指定してください。

VSCodeでUnity関連の補完を効かせる

環境によって違うのかもしれませんが、僕の環境だとC#の標準クラスの補完は効くものの、Unity関連の補完がほとんど出ませんでした。
開発の最初の最初はスクリプトそんなに書かないので良かったのですが、スクリプト量産するようになるとさすがに困ったので、下記の記事を参考に対応しました。

Unity2019 + mac + VisualStudioCodeで、補完が効かなくなった時の対処メモ

setting jsonに下記の指定を挿入しました。

{
    "omnisharp.useGlobalMono": "always",
    "omnisharp.monoPath": "/usr/local/Cellar/mono/6.8.0.105"
}

VSCodeのブレイクポイントを使う

Unityのデバッグ中であれば、VSCodeでブレイクポイントをしこめます。
ただUnityからiOSプロジェクトファイルを出力して、Xcodeでビルドする段階だと使えません。
なるべくメイン機能はUnity上でデバッグできるようにしておきたいですね。

Unity2019とVSCodeでブレークポイントを使ってデバッグ出来るようにする手順

これやると.vscodeにファイルつくることになると思うので、 .gitignoreにも追加することになりました。

端末シミュレーターを入れる

Unityの標準デバッグでも、スマホサイズでビルドすることはできるとは思うんですが、SafeAreaが再現されません。

【Unity】これ以上セーフエリア対応で消耗しないためのアセットを作った【AutoScreen】

上記記事の「はじめに」が端末エミュレーターのいいまとめになっていると感じました。
「Device Simulator」というシミュレーターがUnity公式から出ており、これを使いました。
2020/12現在でも、まだpreview版で正式採用ではないですが、SafeArea関連のUI部品配置のデバッグするときは使えると思います。

VSCodeの自動保存を有効にする

VSCodeはデフォルトだと自動保存オフで、これで何回か事故ったので、自動保存オンにした方がいいと思います。

戻したいときはGit操作で戻すようにした方がいいと思いました。
(Xcodeは自動保存なので、そっちの挙動に慣れてしまった)

Unity本体の自動保存は(公式だと)ない

Unity本体のSaveしないとSaveされない挙動のせいで、何回もGitのコミットタイミングをミスってるのですが、自動保存機能は存在しません。
ただし有志の方がつくってくれたスクリプト入れたら実現できます。

Unityに自動保存機能を追加する

僕は標準じゃない機能使うのあまり好きじゃなくて入れませんが、検討してもいいと思います(ホントに事故るので)。

(小ネタ)アプリ起動時のUnityロゴを消したい

無料アカウントだと消せません。
課金しましょう。

(小ネタ)アプリ右下の「Development Build」表示を消したい

[File] -> [Build Setting] -> [Development Build]のチェックをはずしましょう。

個人的な好み

こっからは意見がわかれるところだと思いますが

  • Unityは英語設定で使った方が良い。不具合があったときに英語でググれるので。
    • 日本語でUnity関連情報ググってもほとんどろくな情報出てきません
  • Git操作はターミナルで行えば十分
    • 苦手な人はVSCodeのgit拡張入れるか、何かしらのGUIツール入れてもいいかもしれません
    • けど結局ターミナルでやるのが一番簡単じゃないですか?
  • Unityの自動テストは未導入。Test Runnerってやつがあるらしいので要調査

Discussion