We are heavily relying on FlowCanvas in our game and by that I mean that we have hundreds of prefabs that have FlowScripts attached to them.
It is a rather big problem for us that the translation and zoomFactor are serialized with all the other data of the FlowScripts because those two values change everytime someone opens a FlowScript and just reads it.
Due to our multitude of asset with FlowScripts it often happens that we have a ton of modified asset in our version control and we need to manually go through all of them and sort out which assets we actually changed and which ones only have their translation and zoomFactor modified.
Unfortunately it’s also not an option to just commit the assets every time those minor things change because if someone else on the team also made changes to the same assets we would have to merge and merging of assets is a pain.
Would it be possible to serialize the user-relevant values (translation, zoomFactor) separately from the asset data (nodes, links, everything else)? Maybe save those values to EditorPrefs or into a separate file? Do we even need those values or could we just get rid of them?
Yes, I understand that this can be an issue for repositories in some cases.
I think I could keep the translation and zoomFactor in the serialization as already is now, but rather change when the serialization is happening.
So if you just open a graph, pan around and zoom there would be no serialization change, but as soon as something else is changed, then serialization will happen along with translation and zoomFactor including.