Forums › 💬 FlowCanvas › ⚙️ Support › Put runtime on .NET server › Reply To: Put runtime on .NET server
Thanks for the reply. Yah I see those dependencies, but I’m not giving up yet! It may take some work but FlowCanvas is an impressive enough piece of tech that making it work would be considerably less work than writing something from scratch.
My end goal is a FlowScript.dll which contains the serialization and runtime. This is so that I can run scripts on our .NET (or Mono) servers. On the client, I can just use the AssetStore package in full and run scripts as usual. Using the JSON serializer included I should be able to send scripts from server to client and execute them.
Step one: At this point, I’ve got a FlowCanvas VS project in which I’ve removed the UnityEditor portions (pretty much just deleting the Editor/ folders). I can build this dll successfully against only UnityEditor.dll. I haven’t gone through and deleted everything inside of #if UNITY_EDITOR, though I probably will want to at some point.
Step two: My next step is figuring out which pieces of Graph.cs requires ScriptableObject and refactor those dependencies away. I anticipate this to screw with quite a bit, but I think it’s doable.
Step three: Do the same with GraphOwner.cs. Essentially I would write my own host for graphs.
Step four: Write a common ScriptManager that can load and execute scripts. It loads them via JSON, then calls a factory to create a “ScriptHost”. The factory on the client creates FlowScriptControllers, the factory on the server creates my own bootstrapper.
Step five (bonus): I like the idea of the Blackboard network sync event. Basically, I’ll write a custom one for synchronization with our servers.
Wish me luck 🙂
