C++ Transition Guide for 4.22

@TheresaJayne I think your issues was commented by DamirH here: C++ Transition Guide for 4.22 - #12 by DamirH - C++ Gameplay Programming - Unreal Engine Forums

Getting this compile error as well:

Hi! I updated my project to 4.22.

However, I am crashing whenever I’m starting PIE. Debugging indicates that it crashes when executing the function UObject::SetLinker(FLinkerLoad* LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting). Here are some attached images of the function in question and also the call stack. PIE never gets to a point where any functions specific to my project are called. I’m not sure what might be causing this.

Thanks!

“EvaluateGraphExposedInputs” is no longer a public field in FAnimNodeBase.



EvaluateGraphExposedInputs.Execute(/*Animation Context*/);


Is now:



GetEvaluateGraphExposedInputs().Execute(/*Animation Context*/);


about


error C2039: 'bTraceAsyncScene': is not a member of 'FCollisionQueryParams'

i also had this error ,after saw the history of Engine/Source/Runtime/Engine/Public/CollisionQueryParams.h on github ,i found they deleted directly this params and all the place to used in function. we can directly * annotation tthis params .*

I found that this method gave me a Linker error, similar to Sveitar.

Instead, I used the UserWidget function BindToAnimationFinished, which takes in the animation and then the event. SolidSk’s method was basically the same, just a longer way round and seemed to give me errors.

2 Likes

BEGIN_UNIFORM_BUFFER_STRUCT -> BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
UNIFORM_MEMBER -> SHADER_PARAMETER
UNIFORM_MEMBER_EX -> SHADER_PARAMETER_EX
END_UNIFORM_BUFFER_STRUCT -> END_GLOBAL_SHADER_PARAMETER_STRUCT

IMPLEMENT_UNIFORM_BUFFER_STRUCT -> IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT

Hey! FArchiveLoadCompressedProxy now has “CompressionFormat” as construct property. But what values cant this be? 0___0 Can’t find anywhere in code

Anyone fix up the UWorks issues?

Trying to compile the SpaceNav3d from GitHub - ParcelRot/SpaceNav3D: Space Navigator support for Unreal Engine 4 and after fixing a lot of small details i’m stuck with this:

‘UEditorEngine::AllViewportClients’: cannot access private member declared in class ‘UEditorEngine’

Why has AllViewportClients become private in 4.22 and what replacement code should I use?

Edit: Found the solution myself. You should of course not access the member variables direct. The correct way is: GetAllViewportClients() :slight_smile:

Got it compile alright by adding the missing overrides etc.
Cannot confirm online functionality though - have yet to run that through its paces properly.

GENERATED_BODY() at the top of a UObject based class puts out the following error:


Error (active)    E0077    this declaration has no storage class or type specifier    Matchy_Dungeon    C:\Users\warbands\Documents\Matchy_Dungeon\Unreal\Source\Matchy_Dungeon\Core\Effect.h    63    


This seems to only come up for VS2019 Intellisense:


Error (active)    E0434    a reference of type "FMeshDrawSingleShaderBindings &" (not const-qualified) cannot be initialized with a value of type "FMeshDrawSingleShaderBindings"    UE4    C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\RenderCore\Public\VertexFactory.h    634    


Anybody knows how to fix this?

I 'm experiencing that same crash every time a turn on any ragdolls, it works on 4.21 though.

Please read the previous comments in the thread.

Async scene has been depreciated.
Remove that line from your code and recompile.
Dont worry, it will work still :slight_smile:

Hello! I’m having trouble converting my 4.19 project to 4.22. After the conversion, it starts launching but then crashes

In the log it says:
Assertion failed: bUncompressMemorySucceeded [File: D\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Serialization\Archive.cpp] [Line: 699]

Any ideas on how to avoid this? Thanks

I would suggest that you delete the “Intermediate” and “Saved” folders, then try again.

It will create a crash dump, which you can open and read through to exactly what it was doing when it crashed (there will be more details than the logs)
From that you can see if it is crashing on a specific asset or piece of code…
It puts the files in, Saved\Crashes, and it will be UE4Minidump.dmp, double click on that to open in VS.

On Linux, it appears the headers and cpp files in the clang toolchain folder that Setup.sh downloads (Engine/Extras/ThirdPartyNotUE/SDks/HostLinux/…) do not get ignored in git.

Easy fix: add “Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/**” to the .gitignore.

Edit: https://github.com/EpicGames/UnrealEngine/pull/5794

Heh, I get

Severity Code Description Project File Line Suppression State
Error (active) E0020 identifier “FMeshDrawSingleShaderBindings” is undefined AdventurersWanted D:\Repo\UE4Source\Engine\Source\Runtime\RenderCore\Public\VertexFactory.h 626
plus other intellisense only errors. Compiles and runs.

4.22.1 build from source.