개발일지

Log 4 - 언리얼 버전을 올려보자

타자치는 문돌이 2024. 4. 27. 20:31

언리얼 5.4가 출시되었다.
이번 패치에선 애니메이션을 더 편하게 작업할 수 있는 많은 기능이 추가되었다.

기존 5.1 프로젝트를 5.4 프로젝트로 올리는 마이그레이션을 해보자.

※ 4.X에서 5.X로 올리는 작업은 추가 작업이 필요하다.

언리얼 엔진 5 마이그레이션 가이드 | Epic Developer Community (epicgames.com)

 

언리얼 엔진 5 마이그레이션 가이드

언리얼 엔진 4 프로젝트를 언리얼 엔진 5로 이주하는 방법 및 요구사항입니다.

dev.epicgames.com

아직 5.4에서 지원되지 않는 플러그인이 있으면 에러가 나니 플러그인을 끄고 마이그레이션을 진행해야 한다.
먼저 언리얼 5.4를 다운받는다.

5.4를 실행해 변환할 프로젝트를 선택한다.


이런 경고 메시지가 뜨는데, 안전한 작업을 위해 사본 열기를 선택한다.

프로젝트 복사가 완료되면 Visual Studio에서 .sln 파일을 연다.


솔루션 탐색기에서 프로젝트 파일을 시작 프로젝트로 설정한다.

Warning: [Upgrade] Using backward-compatible build settings. The latest version of UE sets the following values by default, which may require code changes:
Warning: [Upgrade]     bLegacyParentIncludePaths = false               => Omits module parent folders from include paths to reduce compiler command line length. (Previously: true).
Warning: [Upgrade]     CppStandard = CppStandardVersion.Default        => Updates C++ Standard to C++20 (Previously: CppStandardVersion.Cpp17).
Warning: [Upgrade]     WindowsPlatform.bStrictConformanceMode = true   => Updates MSVC strict conformance mode to true (Previously: false).
Warning: [Upgrade]     bValidateFormatStrings = true                   => Enables compile-time validation of strings+args passed to UE_LOG. (Previously: false).
Warning: [Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V5;' in ZombieSweeperEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
Warning: [Upgrade]
Warning: [Upgrade]
Warning: [Upgrade] Using backward-compatible include order. The latest version of UE has changed the order of includes, which may require code changes. The current setting is:
Warning: [Upgrade]     IncludeOrderVersion = EngineIncludeOrderVersion.Oldest
Warning: [Upgrade] Suppress this message by setting 'IncludeOrderVersion = EngineIncludeOrderVersion.Latest;' in ZombieSweeperEditor.Target.cs.
Warning: [Upgrade] Alternatively you can set this to 'EngineIncludeOrderVersion.Latest' to always use the latest include order. This will potentially cause compile errors when integrating new versions of the engine.
Warning: [Upgrade]

빌드할 때 이런 에러가 나타난다면, {프로젝트명}.Target.cs와 {프로젝트명}Editor.Target.cs를 아래와 같이 수정한다.

// Fill out your copyright notice in the Description page of Project Settings.

using UnrealBuildTool;
using System.Collections.Generic;

public class {프로젝트명}Target : TargetRules
{
    public {프로젝트명}Target(TargetInfo Target) : base(Target)
    {
    	Type = TargetType.Game;        
    	// 추가할 코드 //////////////////////////////////////////
 	DefaultBuildSettings = BuildSettingsVersion.Latest;
 	IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
    	////////////////////////////////////////////////////////

	ExtraModuleNames.AddRange( new string[] { "{프로젝트명}" } );
    }
}
// Fill out your copyright notice in the Description page of Project Settings.

using UnrealBuildTool;
using System.Collections.Generic;

public class {프로젝트명}EditorTarget : TargetRules
{
    public {프로젝트명}EditorTarget(TargetInfo Target) : base(Target)
    {
    	Type = TargetType.Editor;

    	// 추가할 코드 /////////////////////////////////////////
 	DefaultBuildSettings = BuildSettingsVersion.Latest;
 	IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
    	///////////////////////////////////////////////////////

 	ExtraModuleNames.AddRange( new string[] { "{프로젝트명}" } );
    }
}

끝~