ProtoFlux: Difference between revisions

From Resonite Wiki
Add basic guide for the main variable types.
Headings
Line 1: Line 1:
== Introduction ==
= Introduction =
[[File:Protoflux Logo Color 1080.png|alt=Protoflux|thumb|The official Protoflux logo]]
[[File:Protoflux Logo Color 1080.png|alt=Protoflux|thumb|The official Protoflux logo]]
ProtoFlux is a Node based scripting language that can be manipulated in 3D space using the [[ProtoFlux Tool]].
ProtoFlux is a Node based scripting language that can be manipulated in 3D space using the [[ProtoFlux Tool]].
Line 5: Line 5:
{{Quotation|ProtoFlux is the crown jewel of our creative tools - the most powerful visual programming language that our experienced team has designed to date, which lets you quickly prototype and build anything from simple interactions to complex games and systems - with full real-time collaboration support and immediate feedback. Build anything from avatar and world interactivity, to complex systems, and games.|https://resonite.com/features.html}}
{{Quotation|ProtoFlux is the crown jewel of our creative tools - the most powerful visual programming language that our experienced team has designed to date, which lets you quickly prototype and build anything from simple interactions to complex games and systems - with full real-time collaboration support and immediate feedback. Build anything from avatar and world interactivity, to complex systems, and games.|https://resonite.com/features.html}}


== Usage ==
= Usage =
ProtoFlux is represented in the world as nodes that can be spawned from the ProtoFlux Nodes Browser.
ProtoFlux is represented in the world as nodes that can be spawned from the ProtoFlux Nodes Browser.


=== Variables ===
== Variables ==
In ProtoFlux, there are 3 types of generic variables. DataModelStores, Stores, and Locals.
In ProtoFlux, there are 3 types of generic variables:
* DataModelStores
* Stores
* Locals


The simplest type of variable is a DataModelStore. It's automatically synced to all users upon being written to. Most simple scripts can be done entirely with these, but it does leave a small chunk of performance on the table.  
The simplest type of variable is a DataModelStore. It's automatically synced to all users upon being written to. Most simple scripts can be done entirely with these, but it does leave a small chunk of performance on the table.  

Revision as of 07:10, 12 January 2024

Introduction

Protoflux
The official Protoflux logo

ProtoFlux is a Node based scripting language that can be manipulated in 3D space using the ProtoFlux Tool.

ProtoFlux is the crown jewel of our creative tools - the most powerful visual programming language that our experienced team has designed to date, which lets you quickly prototype and build anything from simple interactions to complex games and systems - with full real-time collaboration support and immediate feedback. Build anything from avatar and world interactivity, to complex systems, and games.

https://resonite.com/features.html

Usage

ProtoFlux is represented in the world as nodes that can be spawned from the ProtoFlux Nodes Browser.

Variables

In ProtoFlux, there are 3 types of generic variables:

  • DataModelStores
  • Stores
  • Locals

The simplest type of variable is a DataModelStore. It's automatically synced to all users upon being written to. Most simple scripts can be done entirely with these, but it does leave a small chunk of performance on the table.

The natural progression down the list is a Store. It's similar to standard variables in most languages. It does not get synced over the network, which alleviates the overhead of doing so, but could cause desync.

Lastly, we have locals. They're instanced for different execution chains, so if your flux is called twice at once, you can write to the variable from both, they will each use a unique instance of the variable that gets discarded when that execution ends.