PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 C++のバージョンを変更する方法

環境

UE4.23.1
Visual Studio Comuunity 2019

UE4Unreal C++環境について

リリース時のUE4Unreal C++C++11をベースに一部C++14で開発されていました
jp docだとC++11, us docだとC++14と記載されています。
Coding Standard | Unreal Engine Documentation
コーディング標準 | Unreal Engine ドキュメント

しかし、現在はC++17以降も使用できるようになっています。
ちょうどUE4.22でVisual Studio 2015のサポートを(基本的には)終了した頃からでしょうか。
※基本的にはと書いたのはtarget.csにCompilerの指定を書けばVS2015でも動作するためです。

おさらいとして、UE4で使用するIDEの変更方法についての記事も載せておきます。
papersloth.hatenablog.com

UE4C++のバージョン指定方法

UE4で使用されるC++のバージョン指定はProjectのtarget.cs内に記述をすることで変更が可能です。

以下はプロジェクト作成時の target.csです

using UnrealBuildTool;
using System.Collections.Generic;

public class ProjectNameTarget : TargetRules
{
    public ProjectNameTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Game;

        ExtraModuleNames.AddRange(new string[] { "ProjectName" });
    }
}

C++のバージョン指定は下記を追記するだけで行なえます。
CppStandard = CppStandardVersion.{任意のバージョン};

using UnrealBuildTool;
using System.Collections.Generic;

public class ProjectNameTarget : TargetRules
{
    public ProjectNameTarget(TargetInfo Target) : base(Target)
    {
        Type = TargetType.Game;

        ExtraModuleNames.AddRange(new string[] { "ProjectName" });
        CppStandard = CppStandardVersion.Cpp17; //C++17を指定
        // C++14の場合 -> CppStandardVersion.Cpp14
        // 最新のC++の場合 -> CppStandardVersion.Latest
    }
}


以上です!
お好きなIDEC++バージョンで快適な開発ライフを!