Stumped! Lesson: Compiling a C++ Project, ObstacleAssault, UE 5 C++ Dev Course

Can someone help me? At one point in the lesson, I start Unreal Editor and get this error:

Missing ObstacleAssault Modules
The following modules are missing or built with a different engine version:
ObstacleAssault
Would you like to rebuild them now?

ObstacleAssault could not be compiled. Try rebuilding from source manually.

I’ve examined a few similar topics on this forum with similar problems. I’ve tried to address it by downgrading Visual Studio Community 2022 to 14.38.33135, but that didn’t help.

I tried deleting my project, reinstalling all the code editing software, and redoing all the project steps, but that didn’t help.

Here’s a list of my steps before the error:

On Windows 10

Following the lessons, I install:
Unreal Engine 5.0
Visual Studio Community 2022
.Net 3.1.418 (as shown onscreen during lesson, even though instructor speaks 3.2)
Visual Studio Code

I download Unreal Learning Kit from Marketplace
Create new project ObstacleAssault from Unreal Learning Kit
Set Unreal Editor Source Code Editor to Visual Studio Code
Restart Unreal Editor
Create new C++ class MovingPlatform from parent Actor
Let Unreal Editor open Visual Studio Code
In Unreal, Refresh Visual Studio Code
Close Unreal Editor
In Visual Studio Code, Run Build Task ObstacleAssaultEditor Win64 Development Build
Start Unreal Editor

And I receive the following prompt:

Missing ObstacleAssault Modules
The following modules are missing or built with a different engine version:
ObstacleAssault
Would you like to rebuild them now?

I click yes and wait to receive the following:

Error
ObstacleAssault could not be compiled. Try rebuilding from source manually.

When Visual Studio Code Runs Build Task, the terminal prints the following:

Using bundled DotNet SDK
Log file: C:\Users\shade\AppData\Local\UnrealBuildTool\Log.txt
Building ObstacleAssaultEditor…
Using Visual Studio 2022 14.40.33808 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807) and Windows 10.0.
18362.0 SDK (C:\Program Files (x86)\Windows Kits\10). [Adaptive Build] Excluded from ObstacleAssault unity file: MovingPlatform.cpp, ObstacleAssault.cpp
Determining max actions to execute in parallel (8 physical cores, 16 logical cores)
Executing up to 8 processes, one per physical core
Requested 1.5 GB free memory per action, 7.24 GB available: limiting max parallel actions to 4
Building 9 actions with 4 processes…
[1/9] Resource Default.rc2
[2/9] Compile SharedPCH.Engine.ShadowErrors.cpp
Detected compiler newer than Visual Studio 2022, please update min version checking in WindowsPlatformCompilerSetup.h
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): error C2440: ‘’: cannot con
vert from ‘const From *’ to ‘TStringConversion<TStringConvert<From,To>,128>’ with
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>
,128>::TStringConversion’: no overloaded function could convert all the argument types with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(689): note: could be ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const StringConv::FUnused *)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>
,128>::TStringConversion(const StringConv::FUnused *)’: cannot convert argument 1 from ‘const From *’ to ‘const StringConv::FUnused *’ with
[
From=TCHAR,
To=ANSICHAR
]
and
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: Types pointed to are unrelated; conversion
requires reinterpret_cast, C-style cast or parenthesized function-style cast C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(737): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(FromRangeType &&)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(698): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const SrcBufferType *,int32)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(677): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const SrcBufferType *)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: while trying to match the argument list ‘(
const From *)’ with
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: the template instantiation context (the ol
dest one first) is C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Misc\SecureHash.h(75): note: see reference to function template instantiation ’
auto StringCast<ANSICHAR,128,TCHAR>(const From *)’ being compiled with
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): error C2440: ‘’: cannot con
vert from ‘const From *’ to ‘TStringConversion<TStringConvert<From,To>,128>’ with
[
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>
,128>::TStringConversion’: no overloaded function could convert all the argument types with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(689): note: could be ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const StringConv::FUnused *)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>
,128>::TStringConversion(const StringConv::FUnused *)’: cannot convert argument 1 from ‘const From *’ to ‘const StringConv::FUnused *’ with
[
From=ANSICHAR,
To=TCHAR
]
and
[
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: Types pointed to are unrelated; conversion
requires reinterpret_cast, C-style cast or parenthesized function-style cast C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(737): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(FromRangeType &&)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(698): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const SrcBufferType *,int32)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(677): note: or ‘TStringConversion<TStringConvert<
From,To>,128>::TStringConversion(const SrcBufferType *)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: while trying to match the argument list ‘(
const From *)’ with
[
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): note: the template instantiation context (the ol
dest one first) is C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\TypedElementFramework\Public\Elements\Framework\TypedElementData.h(64): note: see reference
to function template instantiation ‘auto StringCast<TCHAR,128,ANSICHAR>(const From *)’ being compiled with
[
From=ANSICHAR
]

  • The terminal process “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command Engine\Build\BatchFiles\Build.bat ObstacleAssaultEditor
    Win64 Development C:\Users\shade\Documents\UnrealUdemyIntro\ObstacleAssault\ObstacleAssault.uproject -waitmutex” terminated with exit code: 1.

Can you take a screenshot of the pop up telling you to rebuild? Also can you try compiling in visual studio as VSC is not recommended as unreal doesn’t support it

Please see this post:

1 Like

Same Error I am also facing
Did you able to solve it

Error
Missing ObstacleAssault

The video course I’m following says to build in Visual Studio Code, and I want to follow along. I’m new at this and I don’t know how to build from Visual Studio.

I followed instructions to downgrade Visual Studio, but it still gives me the same error. Here is the build output:

Using bundled DotNet SDK
Log file: C:\Users\shade\AppData\Local\UnrealBuildTool\Log.txt
Building ObstacleAssaultEditor…
Using Visual Studio 2022 14.40.33808 toolchain (C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10). [Adaptive Build] Excluded from ObstacleAssault unity file: MovingPlatform.cpp, Ob
stacleAssault.cpp Determining max actions to execute in parallel (8 physical cores, 16 logical core
s) Executing up to 8 processes, one per physical core
Requested 1.5 GB free memory per action, 7.24 GB available: limiting max parall
el actions to 4 Building 8 actions with 4 processes…
[1/8] Compile SharedPCH.Engine.ShadowErrors.cpp
Detected compiler newer than Visual Studio 2022, please update min version checki
ng in WindowsPlatformCompilerSetup.h C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): error C2440: ‘’: cannot convert from ‘const From *’ to ‘TStringConversion<TStringConvert<From,To>,128>’ with
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion’: no overloaded function could convert all the argument types with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(689): note: could be ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const StringConv::FUnused *)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const StringConv::FUnused *)’: cannot convert argument 1 from ‘const From *’ to ‘const StringConv::FUnused *’ with
[
From=TCHAR,
To=ANSICHAR
]
and
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or parenthesized function-style cast C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(737): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(FromRangeType &&)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(698): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const SrcBufferType *,int32)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(677): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const SrcBufferType *)’ with
[
From=TCHAR,
To=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: while trying to match the argument list ‘(const From *)’ with [
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: the template instantiation context (the oldest one first) is C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Misc\SecureH
ash.h(75): note: see reference to function template instantiation ‘auto StringCast<ANSICHAR,128,TCHAR>(const From *)’ being compiled with
[
From=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): error C2440: ‘’: cannot convert from ‘const From *’ to ‘TStringConversion<TStringConvert<From,To>,128>’ with
[
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion’: no overloaded function could convert all the argument types with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(689): note: could be ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const StringConv::FUnused *)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const StringConv::FUnused *)’: cannot convert argument 1 from ‘const From *’ to ‘const StringConv::FUnused *’ with
[
From=ANSICHAR,
To=TCHAR
]
and
[
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or parenthesized function-style cast C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(737): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(FromRangeType &&)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(698): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const SrcBufferType *,int32)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(677): note: or ‘TStringConversion<TStringConvert<From,To>,128>::TStringConversion(const SrcBufferType *)’ with
[
From=ANSICHAR,
To=TCHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: while trying to match the argument list ‘(const From *)’ with [
From=ANSICHAR
]
C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\S
tringConv.h(1048): note: the template instantiation context (the oldest one first) is C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\TypedElementFramework\Pu
blic\Elements\Framework\TypedElementData.h(64): note: see reference to function template instantiation ‘auto StringCast<TCHAR,128,ANSICHAR>(const From *)’ being compiled with
[
From=ANSICHAR
]

  • The terminal process “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.e
    xe -Command Engine\Build\BatchFiles\Build.bat ObstacleAssaultEditor Win64 Development C:\Users\shade\Documents\UnrealUdemyIntro\ObstacleAssault\ObstacleAssault.uproject -waitmutex” terminated with exit code: 1.

This says version 14.40 is being used. Could you show the 14.38 version you have installed?

Or if you’d prefer you shouldn’t get this issue with UE5.1+ so you could just upgrade Unreal rather than mess with these settings.


MSVCVersion

This is what I have installed. Hopefully I did it right.

So that is actually not the right place to get the version number (redist != build) but I couldn’t remember where to get it (Microsoft doesn’t seem to make it easy) but it’s been working so far.

I believe it’s in the txt file here

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build

Go into the folder for 14.38 then open the txt file

“Microsoft.VCToolsVersion.14.38.17.8.txt”

1 Like

That worked. Thanks!

1 Like

Awesome, thanks for letting me know so I can update the post.

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.

Privacy & Terms