I have been working on a blueprint only project and I required a simple scripting system to help content creators to drive gameplay through data.
What it does:
Using the blueprint node ‘ExecuteScriptString’, a text string will interpret and run a set of instructions at runtime.
The syntax is similar to C like languages, and the variables are held in string format.
//Example1:
// Create or set the variable x to 4
x = 1 + 3;
//Example2:
//Concatenate a string and set as a variable
x = "Hello " + "World";
//Example3:
//Call a custom function
x = 1; y = 2;
Sum(x,y); //returns 3
//Example4:
//This more complex example will concatenate strings
//and use the ternary operator ?: (?: - 'if else') to set x to a string value
y=6;
x = y > 0 ? "Y is " + y " which is larger than zero" : "Y is not larger than 0";
How I am using it:
This scripting system is used extensively in my Blueprint Dialogue System for testing conditions, inlining dynamic text, and executing functions from within a datatable.
I will also be using it to drive the quest system in our game(s).
Other uses for an embedded scripting language might also apply, although anything too intensive (like running complex ai) is going to be too slow, since it is interpreted at runtime through blueprints.
About other scripting languages:
There are plugins for LUA and JavaScript which would be much faster and more powerful, but these require plugins, so it wasn’t a good fit for me at this time.
While Blueprint is itself a scripting language, and embedding a language within it is almost tacky, I have found it to be an obstacle when trying to drive gameplay with data.
I am wondering if there would be any interest in this system on the marketplace?