Hi,
Thank you for the report, and apologies for the delay in getting back to you.
While this behavior may be unexpected, I believe it is by design. The dynamic spatial frequency node can be used as the “DynamicNode” of grid cells within the GridSpatialization2D node. This can be set up by setting CreateDynamicNodeOverride on the UReplicationGraphNode_GridCell to a lambda that creates a DSF node as a child node of the grid cell. This is how Fortnite’s replication graph handles its DSF nodes, as in this case, the GridSpatialization2D node will handle updating the WorldLocation of actors in the grid without the DSF node needing to to do.
That said, I do agree that for a DSF node being used as a global node on the graph, it is unexpected that all the actors routed here would be treated as being located at the origin. I’ve opened a new internal task to look more into better supporting this use case in the base UReplicationGraphNode_DynamicSpatialFrequency class, so this can be done without needing to create a derived class that implements custom handling to update the WorldLocation.
In the meanwhile, your change here definitely seems reasonable. If you run into any other problems though, please don’t hesitate to reach out.
Thanks,
Alex