Lua Blueprint Extension

Well, the first version of my Lua BP Extension is done.
There are three ways to use this plugin.

  1. Basic setup with one single node. They can pass up to three arguments and return values but can only take strings [Run Lua Static String] or floats. [Run Lua Static Numeric]
    A simple example is shown below.

  1. The extended setup can be created with the [Run Lua Static] node.
    This node takes and returns an array of [LuaValue] wich can contain a String, Float, Boolean, String Array or Float Array.
    There are different conversion nodes available for each type.

  1. The advanced setup allows the code to be precompiled before it is executed. In addition to that it gives you the possibility to register custom Blueprint functions wich can be called from Lua code.

A Blueprint function can look like this. Values can only be returned by calling the [Return] or [ReturnSingleValue] node! The difference between them should be obvious.

Notes:

  • The interpreter calls the Main(arg1, arg2, …) function with the given arguments in order. The name of arguments is not relevant!
  • Code that is not enclosed within any function will be executed immediatly after the code is loaded! This might be useful for some initialization but should still be avoided.
  • This plugin uses Lua 5.3.0. Be aware that some older Lua examples you find on the internet might not work. This is NOT a Bug!
  • Check the Message Log window. The Plugin tells you if there’s something wrong with the your Lua code.

Other than bugfixes I’m not planning to develop this plugin any further without request from the community.
So please post suggestions, Bugs or just usage experiences. :slight_smile:

Download: https://www.dropbox.com/sh/9jm9lkv4j38jag0/AAAenEtCUYP3pK8T2Qg2yfwOa?dl=0

Cheers

( And yes, I’m to lazy for a serious documentation :3 )

Update to 0.5.1:
Bugfix: Lua Nodes in some Blueprint classes fail to load after Plugin recompilation.

Update to 0.5.2:
Now compatible with 4.9.0 P2

Very cool :slight_smile:

thank you:)

Nice job!!!

This is really awesome!

(Update to 0.5.2)

Scripting within scripting!

Multi layers = slower

Epic will bring official C# at some point as majority of 3D engines have some easy to use scripting language.

I doubt Epic will bring C# as it would hurt the game’s cross platform support. C# isn’t well supported on Linux or Mobile.

I didn’t consider mobile when i was talking about C# integration as Unreal 4 is in primarily an advanced AAA 3D engine for PC and consoles.

How do I press “Enter” at the end of each line in the text boxes in the “Run Lua” nodes?

Hold shift down while pressing Enter.
But it’s better to write your code in a Notepad of your choice (I recommend Notepad++) and copy&paste it. Sadly there is no better way yet.

That’s amazing, great work! :slight_smile:

In there any version of this great plugin compatible with UE 4.12?

Is this compatible with you UE4 4.14. I would love to use this LUA Plugin to create/modify script during runtime using in-game text editor (UMG). EXCELLENT WORK.

This plugin is discontinued since 4.8.
I just wanted to suggest you Unreal.js in the marketplace but as I see in the comments, you have already discovered it. :smiley:
Beside that there is also Skoomum Script and a Python plugin available.

Greetings

Hi Noxygen,

thanks for taking time to respond. Sorry to hear that, I think BASIC-like syntax is best for text-based scripting language and I have experience with LUA:( The hunt continues for run-time scripting solution. Thanks again!.

You’re right, JS is a little overkill but maintainig this plugin was a pain in the … and nobody uses it anymore. :wink: