#Hi ๐Ÿ‘‹

1 messages ยท Page 1 of 1 (latest)

gusty talon
#

That builds just fine in editor

#

but when building for packaged shipping, I see:

UATHelper: Packaging (Windows): LogInit: Display: LogOutputDevice: Error: Ensure condition failed: PointerToUberGraphFrame->RawPointer  [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp] [Line: 1832]
UATHelper: Packaging (Windows): LogInit: Display: LogOutputDevice: Error: Stack:
UATHelper: Packaging (Windows): LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffd9c479457 UnrealEditor-Engine.dll!UBlueprintGeneratedClass::GetPersistentUberGraphFrame() 

...

[D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2144]
UATHelper: Packaging (Windows): LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffd740a6bcc UnrealEditor-FindingStella.dll!UEdTickConstructScriptComponent::PostInitProperties() [C:\Users\olliv\Desktop\Art And Development\PathmakerFindingStella\Synced\FindingStella\Source\FindingStella\Private\EdTickConstructScriptComponent.cpp:81]
#

I noticed that searching for BlueprintImplementableEvent in the engine source code, its not very commonly used

#

Is it intended to be used for shipping builds at all (and is it possible that it is whats causing the build error since Im using it for my functions ConstructionScript, OnMoveEditor, OnMoveRuntime, TickEditor & TickRuntime)?

upper niche
#

the cpp code part is kinda a mess, maybe you could cut all commented out code that is not used as it brings more confusion and errors

#

or at least add cpp part to color it

#

why you doing that in postinitproperties and not initcomponent or beginplay?

gusty talon
upper niche
#

then move it to latter stage

#

postinitproperties is too early to invoke events as well, graph is not yet being initialized (thats what assert you get)

gusty talon
#

I see

#

I will change PostInitProperties to InitProperties then and see if it makes a difference

#

oh wait

#

InitComponent

#

okay sure

#

@upper niche I cant quite seem to find a function called "InitComponent"

#

The code Im looking to execute should run when the component moves in the editor or gets created (either in the editor or at runtime)

upper niche
#

hm, then maybe onregister. but still you won't be allowed to invoke blueprint events there

gusty talon
#

Maybe I should instead explain what my endgoal is...

#

So I have a material with a couple of parameters that I want to set every time an actor with that material is moved in the editor or at runtime. To achieve this, I created a component that would call a BP function when the actor is moved/created in editor implemented via InitProperties - that calls a function UFUNCTION(BlueprintImplementableEvent) void ConstructionScript(); (which I would override in the Blueprint)

#

Then, in InitProperties, I was also registering a lambda:

    this->TransformUpdated.AddLambda(
        [this](USceneComponent* Component, EUpdateTransformFlags /*UpdateTransformFlags*/, ETeleportType /*Teleport*/)
    {
        if (this->GetWorld()->IsGameWorld())
        {
            this->OnMoveRuntime();

        }
        else
        {
            this->OnMoveEditor();
        }
    });
#

That calls 2 other functions

    UFUNCTION(BlueprintImplementableEvent)
    void OnMoveEditor();

    UFUNCTION(BlueprintImplementableEvent)
    void OnMoveRuntime();

as adequate