Ubuntu 18.04(Zorin OS 15.2)にUnity+C#の開発環境を構築するメモ
はじめに
最近自宅のPCにLinuxを導入しました。仕事でMacを触るようになってから、Windowsのコマンドライン関連を含めた使いづらさが目立つようになり、その他の細かい不満点を含めて脱Windowsを目指そうと思ったからです。
LinuxディストリビューションはZorin OS 15.2を選びました。Zorinは以前にも触ったことがあるのですが、特に水色を貴重としたUIのデザインが自分の好みで、Ubuntu 18.04ベースになって安定性が増したらしいということもあり、改めて使ってみることにしてみました。今の所大きな不具合もなく、動作の軽量さも含めてとても快適に使えています。
もちろんWindowsとデュアルブートできる環境にしているので、当初はIntelliJやVS CodeでまかなえるコーディングはZorinで行い、UnityはWindowsで触ればいいかと思っていたのですが、LinuxでもUnityが動くらしいことを知り、早速インストールして使ってみました。以下はその導入メモです。
環境構築
1. Linux向けUnity Hubをダウンロードする
公式サイトからダウンロードします。ここでダウンロードされるのはAppImageというもので、異なるLinuxディストリビューション間でもインストール不要で使える形式らしいです。
ダウンロードしたら権限を与えてコマンドラインから実行します。ダウンロードしたAppImageをクリックすると実行できるかと思いきやそうでもなかったので、コマンドで実行します。
chmod +x UnityHub.AppImage ./UnityHub.AppImage
初回起動時はUnityのライセンスが求められると思うのでログインしてライセンスを更新します。Unity Hubから最新のUnityをダウンロードし、起動できることを確かめます。
2. VS Codeをインストールする
Windowsだと大体の人はVisual Studioを使っていると思いますが、残念なことにLinuxでは使えません。代わりにVS CodeのLinux版が公開されているので、それを使います。
Visual Studio Code – コード エディター | Microsoft Azure
また開発に必要な拡張機能をインストールします。必要な拡張機能は以下の通りです。
C#
必須です。
Debugger for Unity
デバッグに必要です。
MonoBehaviour Snipetts
MonoBehaviour関連の入力補助を行えるようになります。
C# FixFormat Fixed
必須ではありませんが、あると良さげです。導入する場合は下記記事の下のほうにある括弧位置の修正を行うといいと思います。
Visual Studio CodeでC#プログラミング - Qiita
あと個人的な好みですが、Ctrl + ホイールスクロールで文字サイズを変更できるようにするのがおすすめです。
Is it possible to configure control + scroll-wheel to increase/decrease zoom in VS Code? - Stack Overflow
最後にUnityエディタの Edit > preferences > External Tools > External Script Editor をVS Codeに設定します。
3. .Net Core SDK をインストール
公式ページのUbuntu 18.04の部分に従いインストールします。
Ubuntu に .NET Core をインストールする - .NET Core | Microsoft Docs
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1
4. Monoのインストール
そのままだと.Net Frameworkの参照が足りない的なエラーが出ます。
The reference assemblies for framework ".NETFramework,Version=v4.7.1" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your Assembly may not be correctly targeted for the framework you intend.
ので、Monoという.Net Framework互換の環境を利用可能にするオープンソースプロジェクトを導入します。公式サイトのUbuntu 18.04の項目を参考にインストールします。
sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt install mono-devel
5. VS Codeを開き、デバッグができるか確認
4まででC#スクリプトの実行はできるようになっていると思うので、最後にデバッグができるか確認します。Unityエディターを開き適当にスクリプトを追加し、それをVS Codeで開きます。
VS Codeの左のメニューでDebugを選び、 青色になっている「Create a launch.json file」をクリックするとデバッガーの一覧が出るので、
「Unity Debugger」を選択します。
生成されるlaunch.jsonが以下のようになっていれば大丈夫だと思います。
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Unity Editor", "type": "unity", "path": "/home/shun/works/Unity/New Unity Project (1)/Library/EditorInstance.json", "request": "launch" }, .............
適当にブレークポイントを設定し、デバッグできるか確かめます。
おわりに
WindowsでのUnity開発環境が100点とすると、UbutnuでのUnityは80点くらいな感じですが、それでもLinux環境でUnityが動くという事実が嬉しいです。LinuxでのUnityはまだほとんど触っていませんが、特に問題がないようなら本格的にWindowsを触る機会が減りそうだなと思いました。
参考にさせていただいたサイト
LinuxにUnity Editorをインストールする方法 | My note
c# - How do I use Visual Studio Code to develop Unity3D projects in Ubuntu - Stack Overflow