We are trying to use conditions (FWorldConditionQueryDefinition) in a BP because we want to add some inheritance when using smart objects with preconditions. This is because we don’t want to have to make a definition for every different use case needed for different preconditions. We have a solution where we add conditions to the blueprint and then add those to the EditableConditions in a duplicate of the Definition of the smart object. This works for blueprint instances in a level. However, it doesn’t work when we create a child blueprint because the child will not properly get data when the parent is updated. The issue seems to come from the condition field in FWorldConditionEditable.
WorldCOnditionQuery.h
FInstancedStruct Condition;
The condition will not be populated in the child blueprint. However the reset button does get set when you compile the parent blueprint. So the system does know that the data is different. If you press the reset button the child blueprint will get the data from the parent.
We are trying to figure out why the condition is not updated in the child blueprint, or if there is a different way to solve Smart object definitions having different preconditions without having to make a new definition for each one as that creates a scalability problem.