Issues with interactable_component and function

Summary

Why is “InteractMessage()” of the interactable_component and not ? If it may fail with the effect, why is it not as well? I would like to get the SimulationEntity in that function, but i cannot because the GetSimulationEntity is .

On another note… why does the Getter function, here, GetSimulationEnity have the effect? How does getting the Sim change mutable variables?

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Verse

Steps to Reproduce

See docu for InteractMessage() and GetSimulationEntity

Expected Result

Getters not being or coming with

Observed Result

Trouble with doing my decides logic without the effect in InteractMessage()

Platform(s)

PC

image

image

image

I can work around this issue by storing the sim reference in the component as an optional entity, but i dont see the point in that limitation for the function of the interactable component

the function uses < decides > this will return the value in this case the message or will fail thus not return anything.

[] means its fallible so needs to be inside a failure context ie if(): or for(): ect

the InteractMessage allows you to get/set the message from the interactionComponent i dnt understand what your trying to do with the sim entity within this function ? This function is a simple get/set for text.

On the preview below a simple UpdateText() updates the text leaving that InteractMessage to do only what it needs to in this case set the text. You could add other game logic within the componant but i would not personally start mixing actual game function code with simple setters.

Note also the function uses < override > from the parent class

There is a great doc on specifiers that may help you abit

1 Like

The InteractMessage has an Agent parameter. This agent is the player looking at the interactable mesh and the InteractMessage should then determine, which interaction text should be promted. So i would like to handle my decision on what message to return inside the InteractMessage function as that is what it is for.
I would like to access the Simulation Entity from within InteractMessage becasue i need it for my decides logic on what message to return.

BUT, InteractMessage is decides&reads and GetSimulationEntity[] is decides&transacts . Therefore i cannot call GetSimulationEntity from within InteractMessage as the transacts is a conflict.

So my question is
Either:
Why does GetSimulationEntity[] have the transacts effect. It is just a getter functuion.
OR:
Why is the InteractMessage function not decides&transacts .

But i believe the first question about GetSimulationEntity is the more important one in this context.

EDIT:
OMG writing the “< >” gets deleted by the markup or whatever

EDIT:
Added effects without the “< >“

your code has no access to the agent to decide on. That is the problem why i do my decides logic in the InteractMessage function

1 Like