Hi I’m trying to understand if I’m getting something incorrect or if this is an actual bug. Currently I added a single PCG component to an actor class called IVN_Apple but when I try to access data from an instanced actor of this class, IVN_Apple4, via the ‘Get Actor Property’ node, I get values that are stored in different actors (they are child classes of IVN_Apple that are also in the scene).
Am I just misunderstanding how PCG graphs are supposed to work? My idea was to generate actor data inside of each actor’s pcg and collect/use it later by checking for children/pcg graphs within certain bounds, but it seems like graphs overwrite each other maybe?
Changing the ‘Actor Filter’ didn’t seem to do anything. Here in the example, I’m trying to get a Soft object reference to a static mesh. I confirmed that the variables are being stored correctly in each actor but I have no idea why I’m getting the static mesh variable of a child class that’s somewhere else in the scene.
A potential solution, if anyone has the same issue, seems to be setting the always ‘Always Requery Actors’ to True. Although I’m not exactly sure why, maybe the ‘cache’ is overwritten?
I’m not sure if this is the intended behavior or if I’m just being dumb, so I’ll leave the question up. If anyone else thinks this would be a bug, I can a file a bug report.
Dealing with a similar issue. Instead of getting random values, I am getting NO values. Only in packaged builds though, in editor works fine with your fix
It seems like you got the issue, where the node is not re-querying the actor and just goes with what it has in cache.
It should be better in 5.4. Also you’ll probably be able to directly query the mesh without storing it into a temporary variable as we will support struct extraction.
So if you have a StaticMesh component on the actor with PCG, you could do Get Actor Property (Self) → StaticMesh.StaticMesh (first is the name of your component, second is the name of the property on the component) and it will return you the Soft Object Path of the Mesh
Can you expand on this a little? I can’t seem to make Get Actor Data behave. It always dumps everything at the origin or uses out of date actor location data.
I can’t find the “always requery actor” setting, either.
Hum indeed I thought we had the “Always Requery Actor” option but we might have deprecate it or it was never there in the first place.
But it should not dump everything at the origin, if you have an actor at a given position in the world, if you query it, it should be at that position. As for using old positions, if you moved the actors with a BP for example, the cache won’t be dirtied. So you need to run pcg.flushcache or Flush Cache in BP on the PCG Subsystem or PCG Component I don’t remember (5.5 only for the BP function)