I have setup my ABP following the Lyra guides. I have a base ABP with state logic, and a LayerBase that houses all the linked layers. I have setup a GetMainABP threadsafe/pure function to grab data from my base abp threadsafe. This works, however I keep getting the following error show up. I am using property access nodes to grab this function.
Warning: Accessed None trying to read property CallFunc_GetABPBase_Threadsafe_ReturnValue
( If I make the get main abp not threadsafe is no longer happens, but then I lose the threadsafe advantage ). Is there something I’m missing?
Hello, I had the exact same issue and drove me insane. The root cause for me was that within the GetMainABP function, GetOwningComponent returns None.
This is what I did to solve it and keep everything ThreadSafe:
I have an ABP_Main for main logic and ABP_LayersBase for implementaning the logic of each layer (so far the exact same as in Lyra)
I defined the GetMainABP function in ABP_LayersBase, to get a reference and access variables from main logic (still the same as in Lyra)
I created a variable called MainAnim in ABP_LayersBase to store this reference, and defined a SetMainAnim function (thread safe) to set the value of this variable.
Within SetMainAnim I call the GetMainABP function, but the crucial part is where I call SetMainAnim: In an ‘On Become Relevant’ Node Function of the node which threw me the error.
In my case this is a BlendSpace Player node in a layer called FullBody_Walk:
I am still learning UE and pretty new to this, so I don’t know what is the best way to fix this, but this way we are not calling CAST function on every tick at least, and the Owning Component will always be set by the time we call GetMainABP. Please let me know if you find a better solution!