This issue has been closed as 'Won't Fix' due to an extended period of time without updates. If this issue is important to you please let us know by posting on the AnswerHub or UDN, and Epic will re-open the ticket for further review.
When the return value of a C++ function is changed without preforming a hot reload, instances of the function node used inside a blueprint function will have their Return Value pin updated to the correct type however the pin connection will remain even if it no longer matches what it is being wired into.
Licensee mentioned a crash after this issue occurred. Internal tests did not receive the same crash.
UFUNCTION(BlueprintCallable, Category = Test) float GetANum() const { return 3; };
Result:
GetANum is still wired to the set variable node, however the types no longer match.
Expected:
Nodes warn when the types no longer match or blueprint is unable to compile due to mismatch.
UE4Editor-Engine.dll!UKismetSystemLibrary::IsValid(const UObject * Object) Line 36 C++ UE4Editor-Engine.dll!UKismetSystemLibrary::execIsValid(FFrame & Stack, void * const Z_Param__Result) Line 62 C++ > UE4Editor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 4387 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 697 C++ UE4Editor-CoreUObject.dll!UObject::ProcessContextOpcode(FFrame & Stack, void * const Z_Param__Result, bool bCanFailSilently) Line 2129 C++ UE4Editor-CoreUObject.dll!UObject::execLetBool(FFrame & Stack, void * const Z_Param__Result) Line 2044 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessContextOpcode(FFrame & Stack, void * const Z_Param__Result, bool bCanFailSilently) Line 2129 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 821 C++ UE4Editor-CoreUObject.dll!UObject::ProcessInternal(FFrame & Stack, void * const Z_Param__Result) Line 922 C++ UE4Editor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 4387 C++ UE4Editor-CoreUObject.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 1305 C++ UE4Editor-Engine.dll!AActor::ProcessEvent(UFunction * Function, void * Parameters) Line 652 C++ UE4Editor-Engine.dll!AActor::ReceiveActorEndOverlap(AActor * OtherActor) Line 2713 C++ UE4Editor-Engine.dll!UPrimitiveComponent::EndComponentOverlap(const FOverlapInfo & OtherOverlap, bool bDoNotifies, bool bSkipNotifySelf) Line 2200 C++ UE4Editor-Engine.dll!UPrimitiveComponent::UpdateOverlaps(const TArray<FOverlapInfo,FDefaultAllocator> * NewPendingOverlaps, bool bDoNotifies, const TArray<FOverlapInfo,FDefaultAllocator> * OverlapsAtEndLocation) Line 2553 C++ UE4Editor-Engine.dll!USceneComponent::EndScopedMovementUpdate(FScopedMovementUpdate & CompletedScope) Line 601 C++ UE4Editor-Engine.dll!FScopedMovementUpdate::~FScopedMovementUpdate() Line 2930 C++ UE4Editor-Engine.dll!UCharacterMovementComponent::PerformMovement(float DeltaSeconds) Line 2050 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-38008 in the post.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.13.2, 4.14 |
Created | Oct 31, 2016 |
---|---|
Resolved | Mar 26, 2018 |
Updated | Mar 26, 2018 |