Blox is a Visual Scripting solution which helps you to add behaviour to objects via a drag-and-drop interface with interconnecting Blocks (actions) that responds on Events.
Coders will feel right at home with something which flow similar to how code works rather than linked-nodes. Even non-coders can use it without the hassle of programming syntaxes and rules. It also includes commonly used game systems so that you do not have to create these. Plugins add even more genre specific systems.
Blox is not an IDE or C# editor. Please do not approach this system as an alternative way of writing C# code/ scripts.
- Event based system
- Attach any number of Blox definitions to a GameObject
- Define Blox Properties (Variables) in a visual manner via the Blox editor and then set the values for those properties in the inspector similar to how you would with components
- There are Blocks for most of Unity’s runtime
- Ability to automatically create Block definitions for 3rd party APIs
- Even the functions from your own scripts can automatically turn into Blocks
- There is also an API for programming new Events and Blocks when you need more control
- Blocks for the Basic System and common Unity types, Flow control via conditions and loops, Maths operations, String, Arrays and Lists manipulation
- Support yield instructions like WaitForSeconds
- Easily add data to your Project via Global Variables or GameObject via the Object Variables components or Blox Variables
- Made for both coders and non-coders
- Popup help for Blocks help you quickly understand what it does
- Community of developers to help you out at forum.plyoung.com
- Blox are not scripts, making it harder to ‘decompile’ and view your game logic
- You might end up learning a little something about programming if you are not a programmer yet
- Customizable Blox Editor themes
- Script generator (C# code) for when you do want to turn Blox into Scripts
- Include commonly needed components and game systems with more in development or available as plugins. Watch the videos or read the docs to learn more about the game systems that are included.
- Stand-alone (Windows, OSX, Linux) works for both Blox runtime and generated scripts.
- IL2CPP and WebGL works for both Blox runtime and generated scripts.
- Windows Store/Mobile target is not supported at this time.
- Android and iOS should be fine for both the Blox runtime and generated scripts. Please let me know if you find a build problem on these targets.
- Assume that any other platform not mentioned here will not work. Please let me know what results you get on other platforms.
Note that I only checked whether a build could be created for a project that includes a simple Blox definitions, like changing the colour on a target object. If this succeed then you should not have problems and I mark it as a supported platform. Blox should only have problems on platforms that does not support the way it uses reflection, like the case with Windows Store apps.
What can be turned into Blocks?
Pretty much any public field, property or method of a class can be turned into a Block. The only members not supported are those which return or take in its arguments unsupported types.
The unsupported types are all the generic types except for List. There might be other types so please ask if you need to make sure about a specific type.
Generic methods are not supported either. Things like delegates are not supported since there is not a way of hooking them up in Blox.
Screenshots and Videos
More videos in the Blox 3 YouTube Playlist.