# C++ Transition Guide for 5.4

**URL:** <https://forums.unrealengine.com/t/c-transition-guide-for-5-4/1835583>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [May 1, 2024, 11:36pm UTC](https://forums.unrealengine.com/t/c-transition-guide-for-5-4/1835583 "2024-05-01T23:36:54Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Rama](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rama/32/882413_2.png) [@Rama](https://forums.unrealengine.com/u/Rama)\
**Post date:** [May 1, 2024, 11:49pm UTC](https://forums.unrealengine.com/t/c-transition-guide-for-5-4/1835583/2 "2024-05-01T23:49:50Z")

</div>

## bStrictConformanceMode

“[ProjectName] modifies the values of properties: [bStrictConformanceMode]. This is not allowed, as [ProjectName] has build products in common with UnrealEditor.”

> [@BuildEnvironment = TargetBuildEnvironment.Unique](https://forums.unrealengine.com/t/buildenvironment-targetbuildenvironment-unique/1764271):
>
> I am testing 5.4.0 preview 1 from source. When compiling the project, I get an error about bStrictConformanceMode which has to do with the project changing/interfering the engines files (I don’t remember the exact error message). The log said to add BuildEnvironment = TargetBuildEnvironment.Unique; in the target. The project is now compiling, but this wasn’t needed in 5.3.2. Does anyone know why this change to the target was needed in 5.4? Since it is compiling, it is no big deal, I am just…

* * *

**Original**

```auto
using UnrealBuildTool;
using System.Collections.Generic;

public class PMeleeWeaponEditorTarget : TargetRules
{
	public PMeleeWeaponEditorTarget(TargetInfo Target) : base(Target)
	{
		        Type = TargetType.Editor;
                ExtraModuleNames.Add("PMeleeWeapon");
    }
}

```

**Solution ~~\> bOverrideBuildEnvironment = true**

```auto
using UnrealBuildTool;
using System.Collections.Generic;

public class PMeleeWeaponEditorTarget : TargetRules
{
	public PMeleeWeaponEditorTarget(TargetInfo Target) : base(Target)
	{
                bOverrideBuildEnvironment = true;
		         Type = TargetType.Editor;
                ExtraModuleNames.Add("PMeleeWeapon");
    }
}

```

❤

Rama

---

_[View the full topic](https://forums.unrealengine.com/t/c-transition-guide-for-5-4/1835583)._
