Bring back the 'scripts' as nodes in the patches

Some may remember that in the early days of VVVV Gamma, there were ‘scripts’ fields. These were widgets with the ability to execute code within them. But they were not popular, were buggy, and generally did not work well, so they were simply removed.

Since then, VVVV has become a much more technically advanced solution, and it has become possible to load code from files (just wow!).

As cool as it is to be able to connect files to a patch, I can say that C# projects are disgustingly inconvenient, and the last thing you want in your small project is to work with Visual Studio. By the way, why can’t you just attach a *.cs file, only *.csproj?

But I often find that many things would be incredibly easy to write in code and damn difficult to write in nodes (I noticed this in last year’s Advent of Code).

Maybe it’s time to finally consider implementing ‘backward’ scripts? I understand the complexity behind this. There are obvious challenges, both technical and in UI/UX. But it’s an incredible productivity boost in some areas. I’ve just discovered that I want to do a flag check in bytes, returning immediately if a mismatch is found, a simple return list. But in Gamma, this turns into a mess that takes a long time to write. I can think of many places where simple code could drastically simplify some tasks that are simply impossible to perform easily due to ‘visuality’ of VVVV.

You see the problem with in-place editors they don’t manage dependencies. Like you can do some simple stuff in script like float Sum(float a, float b) => a + b; But that’s about it, for instance to build spread you need VL.Lib.Collections added, how would you add this to script? Added csproj already gives you basic level of tooling and necessary environment stuff setup added (dependencies).

The cs file itself is nothing more then a text file… Wonder if you can even compile without csproj…

Look like there is csx but I doubt there is wide support for that…

Few notes also, if u don’t like visual studio use vscode or raider.
Quality of life tools:

csharpier
CodeClenup

@antokhio About dependencies, you can think of nodes with code as the same nodes as all the others, subject to the same dependencies — dependencies within the patch.

I understand that *.csproj allows you to configure a project with dependencies. But configuring a project for a dozen or so lines of code is just cruel. This is a separate issue: why can’t *.cs files be connected when this approach is used in many game engines in C#? Instead of configuring the entire project, which is a nightmare every time. It’s a constant internal struggle: write code or use nodes. But technically, it is possible to combine the approaches.

It’s important to understand that I’m talking about small in-place pieces, where the inability to write code means that you either make a mess of nodes or manage the entire code base in a separate project. I believe that I’m not the only one who finds the ability to write code in-place very promising.