UE4でC++を使うためにはVisual Studioのインストールが必須ですが、UE4もVisual Studioもバージョンが増えたために厄介な仕様になりつつあります。
一旦このUE4.20での段階で、どのUE4がどのVisual Studioのバージョンに対応しているのかをまとめておきます。
以下は公式ドキュメントによる情報です。※最新版は現在英語になります
Setting Up Visual Studio for UE4
UE4とVisual Studioの対応バージョン
ここでUE4とVisual Studioの対応バージョンについてをまとめておきます。
UE4 バージョン | VS バージョン |
4.15~ | VS 2017 |
4.10~ 4.14 | VS 2015 |
4.2~4.9 | VS 2013 |
ここまでは公式ドキュメントにも載っている情報です。
ややこしくなるのはVS 2015とVS 2017が共存している場合の状況です。基本的に2015と2017のどちらを使うかという選択方法はありません。何も指定しない場合にはVS 2015が起動します。
ただし、プロジェクト用のslnファイルを生成する時にcmdなどでコマンド上から特定の引数を渡すことでVS 2017用のプロジェクトは作成が可能です。
"C:/Program Files/Epic Games/UE_4.19/Engine/Binaries/DotNET/UnrealBuildTool.exe" -projectfiles -project="C:/Users/alwei/Project/Test.uproject" -game -rocket -progress -2017
上記のコマンドは一例です。インストール場所は置き換えてください。最後の"-2017"という部分がバージョンを指定しています。これでバージョンが共存していたとしても強制的にそれぞれのバージョンのslnファイルを生成することが可能です。
UE4上から設定 ※2018/07/22追記
どうやら上記の設定よりも、メニューから"エディタの環境設定"を開き、"ソースコード"からプロジェクトを開きたいIDEを選択すると、それを使って開くことが可能なようです。
ただし、これを設定するのみではダメで、設定後に更新が必要になってきます。
プロジェクトの更新を行うと次からそのバージョンのVisual Studioで開くことが可能です。Visual Studioだけでなく、Visual Studio CodeやCLionの場合でも同様です。
こちらの方法の方がUE4的にも公式的なやり方っぽいので、上記のコマンドからよりはこちらの方法を使っていただいた方がよさそうです。
Windows 8.1 SDKとVS 2017の標準化について
Visual Studio 2015でコンパイルを行う時には"Windows 8.1 SDK"というものが必ず必要となります。Windows 8.1 SDKはVisual Studio 2015をインストールする際には自然とインストールされるので、特に必要がありません。
問題はVisual Studio 2017をインストールした時です。UE4は4.19までのバージョンまで、Visual Studio 2015を標準環境に設定しています。つまり、UE4.19までを利用する際には必ず、VS 2015用の環境が必要となります。
これの何が一体ややこしいかと言うと、Visual Studio 2017だけをインストールすると、"Windows 8.1 SDK"がインストールされません!
必ずVisual Studio Installerを使う時に、上記画像のようにWindows 8.1 SDKをインストールするようにしてください。これはVisual Studio 2017のみをインストールした時に発生する問題です。UE4.20からはVisual Studio 2017が標準化され、Windows 8.1 SDKのインストールは必要なくなりました。
それでも、".NET テスクトップ開発"、"C++によるデスクトップ開発"、"C++によるゲーム開発"辺りのモジュールはビルドを行う際にインストールが必要になりますので、しっかりと選択してインストールしておきましょう。
2018/07/24 追記
1点すごく細かいことなんですが、VS2017のインストール時にUnreal EngineのインストーラーかUE用のVSAndroidサポートにチェックを入れるとWin8.1SDKにチェック入れてくれるです。https://t.co/2S7CeWnw5O
— まめお@金曜る44b (@PaperSloth) July 24, 2018
ということらしいです。
VS 2015を使う状況
現状、ほとんどの状況でVisual Studio 2015が必要とされる状況はありません。なので上記のインストール方法でVS 2017を使うのが一番無難な方法でしょう。ただし、現状でもVS 2015を使わざるえない状況が少なからずあります。
UE4でAndroid開発を行う際に使用する、NVIDIA CodeWorks for Androidが今でもVisual Studio 2015を強要します。
正確にはNsight Tegra Visual Studioというモバイル用のネイティブデバッグやプロジェクト管理を行う仕組みがVS 2015を使用しますので、AndroidでC++を使う場合には現状でもVS 2015が必須という状況です。
逆にそれ以外の状況では、まずVisual Studio 2015は必要ありませんので、思いっきり2017の方を利用しましょう。
オマケ VS 2015やVS 2017を安全にアンインストールする方法
Visual Studioのアンインストールは非常に難易度が高く、通常の方法でアンインストールしても、ゴミが多く残ってしまい、再インストールでも問題が起こりやすくなります。だからといって、レジストリーを無理矢理弄って、強制的にアンインストールをしようとする人をたまに見かけますが、
絶対にやらないでください!!
私も過去に挑戦したことがありますが、色々弄っていたら、Visual Studioの起動どころか、インストール、アンインストール、全てが不可能になりました。最悪OSごと入れ直さないとVisual Studioが使えなくなります。
ここで、Visual Studio 2015の場合には、"VisualStudioUninstaller"というツールを使うことで完全なアンインストールできるようになっています。
わかりやすい使い方は日本語記事が結構でてきますので、参考にしましょう。
Visual Studio 2017の場合には、"InstallCleanup.exe"というツールで完全なアンインストールができます。こちらはダウンロードしなくても標準でインストールされています。
こちらもわかりやすい記事がありました。
これで完全なアンインストールを安全に行うことが可能です。上記ツールはマイクロソフト公式ツールなので、安心して使うことができます。もし、Visual Studioのアンインストールに困った場合にはぜひ使ってみましょう。