C++ parent:
UFUNCTION(BlueprintImplementableEvent, Category = “Soul”)
void GoToNewLocation(FVector NewLocation);
Blueprint implementation exists to blueprint child.
Editor build and development build - Ok.
Shipping build - from Cpp Called GoToNewLocation method and crash applcation.
How to fix this behavior? Why can’t it find the implemented blueprint function (event) with this name in the Shipping build, even though it works fine in the editor and the Development build?
What about dependencies on uncooked modules? I had a crash when calling such “questionable” functions in the build, while everything worked in the editor.
What about dependencies on uncooked modules? I had a crash when calling such “questionable” functions in the build, while everything worked in the editor.
What you means? Can you tell us more?
This code is in the project module. And it added to the target rule. (ExtraModuleNames).
This is the first time I’ve encountered such a situation.
You could include some file in your runtime module, which is located in such an uncooked module.
You could add such a module to the .build.cs file so that the include would work and the VS solution would build successfully, but in a packed project - it would cause a crash when trying to call a function from an uncooked module.
I identified the issue. I was storing the AActor collection in TDeque<AActor*>, but this container type doesn’t support UPROPERTY. As a result, the garbage collector eventually marks AActor instances for garbage collection and begins purging their data. This appears to be exactly what happened.
I replaced TDeque with TArray<AActor*> and add UPROPERTY specifier. Shipping build is work correctly.