VRChat “Node Graph”, Playmaker, and Soon™
Hello, VRChat! Today we’d like to chat about a hot subject for our Community Creators — the integration of Playmaker. It is no secret we have taken our time with Playmaker, and for good reason. As a result of our testing with our Closed Beta team (we like to refer to them as our “Community Wizards”) and intense internal analysis, it was determined that Playmaker wasn’t the correct direction for VRChat to take. Instead, we have taken it upon ourselves to create a custom, powerful, VRChat-authored toolkit, free of cost.
This decision was not made lightly. When VRChat first started, the development team was quite small, and third-party solutions were more attractive. However, over the past few months, the team has grown. That gives us quite a bit more room to work on projects of this magnitude rather than rely on third-party solutions. Additionally, there were some future VRChat design reasons behind building our own powerful toolkit. It gives us more control and flexibility to make VRChat as incredible as we’d like it to be.
The toolkit is designed to be easily expandable and permits quick iteration of features. Relying on Playmaker to implement systems or features we wanted would take time, and would be out of our control. Additionally, any limits that Playmaker imposed would be passed on to our Community Creators, which is the last thing we want to do with a system intended to allow amazing new worlds. Building our own toolkit allows us to control upgrades more closely, so you don’t have to worry about installing the correct version, or worry about upgrading many packages when a Unity upgrade occurs.
This toolkit is an important part of the VRChat vision. It is core to VRChat world creation and as such, should be carefully designed and implemented. We wanted to enable more expression, the easy creation of fun games, allow audio and visual performances, let users add video walls and UI, improve event systems, and more. We want to do what we can to unlock our community’s imagination.
So, after quite a bit of development time, we’d like offer the first peek at VRChat’s “Node Graph”.
If you’re familiar with node-based editing tools such as Shader Forge, Amplify Shader Editor, or other tools, you will recognize this structure. Essentially, items on the “Node Graph” will have inputs and outputs as appropriate per item. A Trigger might have a single output, and an Action might have a single input. Building these “Node Graphs” creates a visual layout that can be organized as you see fit, and allows for much easier visualization of what your Triggers and Actions perform rather than attempting to map them out via inputs and outputs on Unity Components.
Using these components, not only can you duplicate any current Trigger and Action setup, but you can create far more complex systems without having to worry about keeping things mapped out in your mind — or on paper, as some creators have resorted to!
To get into a little more detail, a Flow Graph like our “Node Graph” system is a true programming language, where you perform logic and math using wires and nodes. Playmaker did not have a flow graph — its logic and math mostly occurred within pre-scripted actions, which users could not alter or create.
While Playmaker does have a nice State Machine system, we plan on addressing this with future expansion of the “Node Graph” system. State Machines are already being utilized in VRChat through Mecanim AnimationControllers.
We are still adding features to the “Node Graph” system. In addition to allowing much easier development of worlds using the system, the backend allows the VRChat Development Team to add nodes for new events, triggers, and actions quickly and easily — and if a new component requires a change to this new system, we can change it without any headache. In short, this means more features, more quickly, with fewer bugs.
A final advantage of this system is that it will be included in the VRChat SDK for free. In short, no additional installation steps, no extra Unity packages, no cost — if you have the SDK, you can create complex systems with the VRChat “Node Graph”.
“Node Graph” has already entered Closed Beta. We know our Community is excited about creating tons of new stuff with it, and we are looking forward to seeing what you create with the tools we provide. We are working hard toward building and testing an initial release version that we can get into your hands.
A proper name for the “Node Graph” system is pending, and we will be releasing that along with a lot more information for you very soon.
We’re sure you have a lot of questions and feedback about this information. We’ve created a new board on our Canny to ask questions, ask for future features, and provide feedback. Click here to find our Node Graph Feedback Canny board.
As always, we appreciate your patience, and we can’t wait to see what you create!