About Blox 3


(Leslie Young) #1

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.

Asset Store | Documentation | Videos

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.


Supported Platforms

  • 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.


Feedbacks
Error on new project
(Hjupter Cerrud) #4

Nice job @leslie, looking really cool!.. I wish I could use this with plyGame :(, any plan to upgrade blox in plyGame?


(Jason Burch) #5

Looks awesome hope this comes to plyGame as well :slight_smile:


(Alien) #6

do you still have the ability to create the c scripts from blox, or export/convert to c#, like blox2?


(Leslie Young) #7

No. It was experimental and I did not like the results so I removed it for this version to rather focus on an optimised Blox runtime. I am still working on this optimization so I can’t yet say how much gain there is from Blox 2.

I might look into a script-gen again in the future but can’t promise anything.


(Leslie Young) #8

This will not make it into plyGame to replace plyBlox. The way plyBlox and plyGame works together is way too different from how Blox 2, and now 3, works. plyGame would not be able to trigger Blox2/3 type events and require a lot of reworking to make that possible.

You could of course use Blox 2/3 in plyGame project but it is kinda pointless since the plyGame specific Blox Events will only trigger in plyBlox.


(Alien) #9

i have to say being able to export/create C# scripts from the blox was a big product differentiator. I’ve seen it listed when compare your product to others on the unity asset store.

being able to produce the C# script also in theory would allow you to remove blox2/3 completely before compiling the game decreasing size, reliance on your code, etc.

it’s a big miss on blox 3 from a product comparison standpoint. Products are adding more features, not less. some of the newer products on the asset store are starting to do this as well (although the price point is much higher).


(Jason Burch) #10

Hey one can only ask :slight_smile:
No worries plyGame is still awesome without it.


#11

Looks great Leslie, love the way variables are managed now.
So thats the project you mentionned a few months ago. Cant wait to try it!

Does blox 2 have any advantages on blox 3 beside the script generator? Will you mainly focus on blox 3 development now? Cheers


(Leslie Young) #12

Blox 3 is better so use it when creating a new project. Do not try and upgrade a Blox 2 project; there will be errors.

Blox 2 will be set as deprecated as soon as Blox 3 is available so that it is not longer listed on the asset store. You will still have access to it and I can make fixes if there is a bug.


(Der_Kevin) #13

That looks nice! Didnt expect that.
Will we be able to change the color of the blox? I was more a fan of the pastel colors of blox 1 than this sarurated vibrant colors from blox2

Also one thing i like in other visual scripting tools is the ability to write custom actions/custom blox. For example a simple find nearest gameobject with tagX block that i can reuse everywhere.
Edit: i think thats what create events with the api means from the first post, right?
Or something like nested blox


#14

Will probably restart my project with blox 3 then, like always using the latest version :slight_smile:

How about State? It seems blox3 doesnt have this anymore? I kinda like that with blox 2, helps organize the game logic.
Will adding several blox to 1 gameobject have a negative impact on ressource?


(Alien) #16

https://www.assetstore.unity3d.com/en/#!/content/62473


(Der_Kevin) #17

just tested it for some minutes and its really great. much faster than i had blox2 - at least it feels like its faster :wink: the snapping and dragging feels also much better somehow

you cleaned up the editor ui a little bit, right? getting rid of that grid was also a good idea. so far so good. have to test a little bit more :slight_smile:

oh, i just undocked the “blocks” menu(the tree view with values, comparison and so on blocks…), how can i drag it back into the editor?


(Leslie Young) #18

oh, i just undocked the “blocks” menu(the tree view with values, comparison and so on blocks…), how can i drag it back into the editor?

Just close the window and it will snap back into the Blox editor.


(Leslie Young) #19

Will we be able to change the color of the blox? I was more a fan of the pastel colors of blox 1 than this sarurated vibrant colors from blox2

I’ve been thinking of allowing themes… just not priority feature. I’ll see about including the themes from Blox 1 and 2.

Also one thing i like in other visual scripting tools is the ability to write custom actions/custom blox

Blox can turn any function into a Block. Why not just use that feature? You can also write a custom Block; or even Event. I will get onto updating the docs with that info.

You did say “custom Blox” though so maybe you mean something else?


(Leslie Young) #20

How about State?

That is what I forgot to include in FAQ; thanks for reminding me.

It has been removed. I wanted Blox to be closer to how Components act and also not cause problems when you use a proper state machine solution.

I might create a small add-on later to handle state (will include it free if I do) .

Will adding several blox to 1 gameobject have a negative impact on ressource?

Not much if any; use it. It will allow you to split and reuse logic.


(Richard Irvine) #21

Hmmm I got really excited to see this… not producing C# took the wind back out of my sails… I’ll at least give it a shot but how long before mobile support? Just ballpark figures… If I convert over again will I be able to release a game to iOS and Android within say the next 6 months?

Looks great, looking forward to get home to give it a test drive…


(Richard Irvine) #22

Leslie if you have discontinued State Machines, would you consider support for Playmaker?


(Leslie Young) #23

how long before mobile support

There should not be a problem but I have not personally tested yet.

not producing C# took the wind back out of my sails

I am working on something but do not want to make any promises.

would you consider support for Playmaker?

Support in what manner? Should they not be able to work together as is? I do not really know Playmaker well so not sure what you might think is needed from Blox side to make them work together.