When you create a latent function in C++ with the FLatentActionInfo first it will incorrectly set up the linkage for the latent info such that it gets linked to the incoming execution pin of the function node rather than the output execution pin. This means whenever the latent action completes it will call the original function again, re-adding it to the LatentActionManager in an infinite loop.
#include "Kismet/KismetSystemLibrary.h"
UFUNCTION(BlueprintCallable, category = Test, meta = (Latent, LatentInfo = "LatentInfo")) void Latent_NoArgs(FLatentActionInfo LatentInfo) { UE_LOG(LogTemp, Warning, TEXT("Latent_NoArgs called")); UKismetSystemLibrary::Delay(this, 1.f, LatentInfo); }; UFUNCTION(BlueprintCallable, category = Test, meta = (Latent, LatentInfo = "LatentInfo")) void Latent_OtherArgsLast(FLatentActionInfo LatentInfo, int A) { UE_LOG(LogTemp, Warning, TEXT("Latent_OtherArgsLast called")); UKismetSystemLibrary::Delay(this, 1.f, LatentInfo); }; UFUNCTION(BlueprintCallable, category = Test, meta = (Latent, LatentInfo = "LatentInfo")) void Latent_OtherArgsFirst (int A, FLatentActionInfo LatentInfo) { UE_LOG(LogTemp, Warning, TEXT("Latent_OtherArgsFirst called")); UKismetSystemLibrary::Delay(this, 1.f, LatentInfo); };
I am not able to find world outliner how to enable it?
How to achieve HLSL Multiple Render Target in Material blueprints?
How to properly terminate the DoWork thread function in FAsyncTask?
What method is used to fill polygonal regions when drawing spline mesh at run time?
How can PaintContext be used as function parameter in OnPaint?
How does TextureRenderTarget2D get TArray<uint8> type data?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-159823 in the post.
1 |
Component | UE - Gameplay - Blueprint Compiler |
---|---|
Affects Versions | 5.0.2 |
Target Fix | 5.1 |
Created | Jul 18, 2022 |
---|---|
Resolved | Sep 28, 2022 |
Updated | Oct 21, 2022 |