Hi team! I’m currently testing push-model on the generic Replication system (not Iris), and am running into various Blueprint nodes not marking their properties as dirty. I initially thought it was just Unreal Engine Issues and Bug Tracker (UE\-194745) (UK2Node_VariableSetRef), but a cursory search for `bIsReference = true` shows several K2Node classes that don’t mark the referenced property dirty. The current planned workaround is to copy the `FKCPushModelHelpers::ConstructMarkDirtyNodeForProperty()` call from VariableSetHandler.cpp into each offending Node class.
I see UE-194745 is backlogged to 5.8. Is the plan to address all Blueprint nodes then? Or is the desired practice to call Set after modifying any reference?
Regarding UE-194745: that indeed points to specfically the set ref BP node whereas push model support for blueprint nodes in general is a bigger topic. I asked internally for the status of that and we don’t have solid plans yet to commit to doing a pass on these blueprint nodes to all support push model replication. UE-194745 mentions UE 5.8, but on asking internally we haven’t committed to that target even just for that one task.
“I see UE-194745 is backlogged to 5.8. Is the plan to address all Blueprint nodes then?”
We don’t have concrete plans for 5.8 or even a later engine version to update all blueprint nodes to reliably support push-model. That’s mainly due to other priorities.
“Or is the desired practice to call Set after modifying any reference?”
No, that would be quite cumbersome to blueprint devs. The desired practice would be to update offending nodes. At a glance what you suggest of fixing the offending node types up by marking the property as dirty sounds correct.
Given the state of things, you would either:
fix the offending node types locally as engine modifications
or try Iris if the goal is to reduce server-side CPU costs.
I’ll add your comment on that more BP ref-nodes are missing the mark-dirty to the existing ticket.