Issues with visual studio code and compiling

Hi there everyone hope you’re doing good. I’m having some issues with the obstacle assault section of the unreal engine C++ course. I just got done with lecture 46: Live Coding Issues and decided to compile the code I’d implemented when i got two problem pop-ups.

The first one is as follows:

‘FBoneMirrorInfo’: FBoneMirrorInfo is deprecated. Please use UMirrorDataTable for mirroring support. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

This message was linked to this bit of code:

/** Skeleton of this skeletal mesh **/
UE_DEPRECATED(4.27, “Please do not access this member directly; use USkeletalMesh::GetSkeleton() or USkeletalMesh::SetSkeleton().”)
UPROPERTY(Category=Mesh, AssetRegistrySearchable, VisibleAnywhere, BlueprintGetter = GetSkeleton, BlueprintSetter = SetSkeleton)
TObjectPtr Skeleton;

The second problem message I got was this long bit of text:

incomplete type “TObjectPtr” is not allowedC/C++(70)
SkeletalMesh.h(737, 24): detected during:
SkeletalMesh.h(737, 24): instantiation of class “TDefaultMapHashableKeyFuncs<KeyType, ValueType, bInAllowDuplicateKeys> [with KeyType=TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, ValueType=int32, bInAllowDuplicateKeys=false]” at line 301 of “E:\UE_5.5\Engine\Source\Runtime\Core\Public\Containers\Set.h”
SkeletalMesh.h(737, 24): instantiation of class “TSet<InElementType, KeyFuncs, Allocator> [with InElementType=TTuple<TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, int32>, KeyFuncs=TDefaultMapHashableKeyFuncs<TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, int32, false>, Allocator=FDefaultSetAllocator]” at line 926 of “E:\UE_5.5\Engine\Source\Runtime\Core\Public\Containers\Map.h”
SkeletalMesh.h(737, 24): instantiation of class “TMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> [with KeyType=TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, ValueType=int32, SetAllocator=FDefaultSetAllocator, KeyFuncs=TDefaultMapHashableKeyFuncs<TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, int32, false>]” at line 1073 of “E:\UE_5.5\Engine\Source\Runtime\Core\Public\Containers\Map.h”
SkeletalMesh.h(737, 24): instantiation of class “TSortableMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> [with KeyType=TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, ValueType=int32, SetAllocator=FDefaultSetAllocator, KeyFuncs=TDefaultMapHashableKeyFuncs<TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, int32, false>]” at line 1227 of “E:\UE_5.5\Engine\Source\Runtime\Core\Public\Containers\Map.h”
SkeletalMesh.h(737, 24): instantiation of class “TMap<InKeyType, InValueType, SetAllocator, KeyFuncs> [with InKeyType=TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, InValueType=int32, SetAllocator=FDefaultSetAllocator, KeyFuncs=TDefaultMapHashableKeyFuncs<TWeakObjectPtr<USkeletalMesh, FWeakObjectPtr>, int32, false>]” at line 674 of “E:\UE_5.5\Engine\Source\Runtime\Engine\Classes\Animation\Skeleton.h”
SkeletalMesh.h(737, 24): instantiation of class “TObjectPtr [with T=USkeleton]” at line 737 of “E:\UE_5.5\Engine\Source\Runtime\Engine\Classes\Engine\SkeletalMesh.h”

And this was linked to this bit of code:

#if WITH_EDITORONLY_DATA
/** List of bones that should be mirrored. */
UE_DEPRECATED(4.27, “Please do not access this member directly; Use UMirrorDataTable for mirroring support”)
UPROPERTY(EditAnywhere, editfixedsize, Category=Mirroring)
TArray SkelMirrorTable;
#endif

I’m currently using unreal engine 5.5 ant help would be greatly appreciated because I am enjoying this course quite a bit.

At a guess you’ve tried to add an other character asset into 5.5? Correct me if I’m wrong.

You shouldn’t get this sort of error and 5.5 if you use a current asset and honestly, if you use even the asset used in the video if you have access. Some folks suggest this asset: Survival Character FREE | Fab
It looks good and seems to work for plenty of others.
I personally like the Paragon Assets, particularly this one: Paragon: Wukong | Fab

Let me know if I’ve got this wrong. I just implemented this entire project in UE5.5 at the start of last month as a test to see what needs to be done to get everything working for UE 5.5 including the new input system.

Hi there thanks for replying. I basically just started from scratch with this project except this time I used that wukong model you mentioned, and I got to the bit where you compile the code for the first time and I basically got the exact same pop-up reading:

‘FBoneMirrorInfo’: FBoneMirrorInfo is deprecated. Please use UMirrorDataTable for mirroring support. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

The weird bit is I also got two new error pop-ups.

Error 1:

cannot open source file "MovingPlatform.generated.h"C/C++(1696)

And that was linked to this bit of code:

#include “MovingPlatform.generated.h”

And error 2:

#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit (E:\UE 5 Projects\UnrealLearningKit\Source\UnrealLearningKit\MovingPlatform.cpp).C/C++(1696)

Which was linked to both the previous bit of code and this one:

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

If anything comes to mind please let me know cuz it’s kinda doing my head in.

It looks like those two new errors where due to dome extensions I had for visual studio code and after removing them the errors disappear. But the error from my original post remains.

I am at a loss. I’ve never seen that error before. If I didn’t know any better I’d say the engine had been corrupted… It happens. Try doing a verify of the engine. I’d also try using visual studio community instead of vs code just in case

Privacy & Terms