Assertion failed: !bPostTickComponentUpdate [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp] [Line: 887]
Anything with the bDirtyRenderState seems to be an error with Line Trace Representations and if there are too many of them.
For example: A task (not game thread) is doing a Line Trace (no representation) and then calling a function on the game thread to do another line trace or line trace representation, this error might occur.
Solution: For the second trace or representation, use a "Delay" Node or at least a Delay Tick.
Trying to convert an FText (both Blueprint and C++) to another variable type and vise versa should be avoided at all costs!
For example: Converting an int32 (5051) to an FText may result in a Text of "5,051". Trying to convert the back into an int32 (using a GUI for instance) will result in a "5" as the return value.
Best practice: If you require a conversion from an FText to another type and vise versa, use a string conversion in-between. For example:
int32 MyInt {5051};
FText MyText {};
MyText = FText::FromString(FString::FromInt(MyInt));
The same goes for Blueprints. Cause with this, you will get the proper value, also for the other way around.
Fix 1:
open the project folder
delete intermediate, .s and .idea folder
right click on .uproject and click "Generate Visual Studio project files"
re-open the .sln file and re-compileÂ
Fix 2:
look for any "UPROPERTY" with an empty bracket, for example: UPROPERTY() float Val;
add anything in there, like "BlueprintReadOnly": UPROPERTY(BlueprintReadOnly) float Val;
This error seems to occur, when you try to set a default value for a UFUNCTION that can't be set.
Example:
.h
UFUNCTION(BlueprintCallable)
int32 void AddIntVector(
FIntVector IntVector = {1,1,0} );
.cpp
return (IntVector.X + IntVector.Y + IntVector.Z);
Info:
FIntPoint is a struct and can't easily be set because of a missing constructor
for these, remove the default value and maybe do something in the .cpp file to clamp to a default
other values like float, int32 etc. do work
Workaround: An example how to solve this in the .cpp file
if (IntVector.X == 0 && IntVector.Y == 0 && IntVector.Z == 0)
IntVector = {1,1,0};
The usual fix is to set the Solution Configuration to DebugGame, Editor.
First: make sure that your functions are set to either protected or public.
If that doesn't work and everything should work fine and does, when the editor is opened via the IDE, do the following:
- delete Binaries folder
- delete Intermediate folder
- delete .vs and other folders with a dot in front (not .git) like .idea for rider
- delete projectname.sln (solution file)
- right click on projectname.uproject (project file) and click "Generate Visual Studio project files"
- open project via solution (.sln) file, rebuild
Weirdly enough, this does also fix various other issues where the editor seem to behave irrational.