Scripting Language extensions via plugins

any it made it for 4.3.1 since it was just a couple days off? :smiley:

Here’s the link to the Trello card.

Hey Robert,

When compiling 4.3 from source, with all pre-supplied files checked in to Perforce (Read-Only), I get the following error:

LINK : fatal error LNK1104: cannot open file ‘C:\Blahblahblah\UnrealEngine\Engine\Plugins\Script\ScriptGeneratorPlugin\Binaries\Win64\UnrealHeaderTool-ScriptGeneratorPlugin.dll’

These files were already on Github, or given via the AdditionalDependencies .zip files. This .dll is the only one the compilation process has issues with, however.

Can you share any insights?

Thanks.

Strange, but it seems that maybe the path is too long or the file is read-only. Are there no other errors?

It’s going to be just bugfixes until 4.4, sorry!

No other errors, no. If I manually check it out (or un-tick ‘Read Only’ on the file) each time, it works.

EDIT: I’m also getting these warning messages in the output window of VS2013 when building my game project:

1>LogModuleManager : warning : Found module file …/…/…/Engine/Plugins/Script/ScriptGeneratorPlugin/Binaries/Win64/UnrealHeaderTool-ScriptGeneratorPlugin.dll (API version 2217540), but it was incompatible with the current engine API version (0). This is likely a stale module that must be recompiled.
1>LogModuleManager : error : Found module file …/…/…/Engine/Plugins/Script/ScriptGeneratorPlugin/Binaries/Win64/UnrealHeaderTool-ScriptGeneratorPlugin.dll (API version 2217540), but it was incompatible with the current engine API version (0). This is likely a stale module that must be recompiled.

Robert, any you can post a sample project that does something with Lua? Or if anyone has one that does something simple to demonstrate the setup and how to address the objects in the Unreal engine?

Plug-in for Unreal Engine 4

SkookumAndUnreal(med).png&stc=1

I’d like to announce another upcoming text-based scripting solution for Unreal 4 - .

[SIZE=2] is specifically designed for high-performance game development and has evolved over the last 20 years on actual AAA games at LucasArts (ancestor language was successor to SCUMM), Electronic Arts and other game companies. [/SIZE]It was most recently used to create the open-world game Sleeping Dogs developed by United Front Games and published by Square Enix for PC (on Steam), Xbox 360 and PlayStation 3. [It has also been tested on many other platforms including mobile and the latest Xbox One and PS4 consoles.]

has a pretty sophisticated IDE and gameplay specific features that are found in no other language.

For more info, check out - /blog/2014/07-23–and-unreal4/ - there is also an email sign up to get additional updates.

I’m really excited to see Robert’s work here. Robert - thank you very much for creating this plug-in. We’re taking your lead and integrating as well.

[I’ve got lots of Lua experience too so I’ll do all I can to make it and any and all other scripting languages work even better. Let me know if there is any way to help out.]

The Unreal 4 plug-in is being developed right now and I’ll let everyone in this thread know about updates.

[Edit: I created a Plug-in thread so that people can ask Skookum related questions - ]

I don’t understand all this love for Lua. I’d like to see the v8 engine make it in via this interface. One engine to run them all. Except Lua … or C# or … sigh. List of languages that compile to JS · jashkenas/coffeescript Wiki · GitHub

Although, while I don’t know if Awesomium (or equivalent) is freely integrated into the game UI, that might do just as well, perhaps. In the game FireFall I was thinking about creating hooks in Lua for writing scripts in JS from the Awesomium UI overlay/shell, which supports Canvas rendering overlaying the screen, and nearly went for it until I found out they might pull it or some of it out.

And don’t tell me V8 is “too scripty to be performant”. Half the stuff at http://chromeexperiments.com/ could prove to do wonders as examples of what could be done as GUI or async background tasks in the Unreal engine.

For some unknown reason my last post isn’t showing up, I don’t know if these forums are moderated with pre-hiding; perhaps it was the fact that I had links.

Basically I was suggesting V8 as a script host target for integration, and note that there are several language that compile down to JS including Lua and C#. Chromeexperiments dot-you-know is strong validation that V8 is a quite reasonable scripting engine for HUD and background tasks. That said, Awesomium is another approach for the HUD, and I don’t know where we stand on free Awesomium integration. I’d like to use Canvas+JS on the HUD personally, and I’d rather not pay a third party for it.

I don’t find this an appealing idea, it seems clever, but the amount of testing and validation to prove that it would be a 1:1 match with language bindings, existing libraries, and as performant as the language in its best/most optimized environment (LuaJIT for example) doesn’t seem worth the hassle. Many people using UE4 are doing so for commercial projects, and having something this experimental is not likely worth the risk. The point of the plugin architecture seems to be to allow anyone to implement whatever scripting language they want.

That said, Lua has its idiosyncrasies. I’d prefer something like Squirrel, or LoomScript. I suppose the nice thing is if you want to see V8 in UE4, you now have a framework to achieve that in. It will continue to catch on for gaming due to the growth of HTML5, but I would not bet on it replacing Lua for commercial console and PC games any time soon.

Sure, I’ll try to do something like that this week.

We’ve been discussing the possibility of adding Javascript integration recently but we haven’t reached any decisions yet.

As Unity is your biggest competitor in the indie space, well working C# integration could be a wise move for luring over even more developers from them. Compiling to Javascript might be the best way to handle it.

[Dupe of earlier post #108 that was delayed in appearing.]

I’d like to announce another upcoming text-based scripting solution for Unreal 4 - .

is specifically designed for high-performance game development and has evolved over the last 20 years on actual AAA games at LucasArts (ancestor language was successor to SCUMM), Electronic Arts and other game companies. It was most recently used to create the open-world game Sleeping Dogs developed by United Front Games and published by Square Enix for PC (on Steam), Xbox 360 and PlayStation 3. [It has also been tested on many other platforms including mobile and the latest Xbox One and PS4 consoles.]

has a pretty sophisticated IDE and gameplay specific features that are found in no other language.

For more info, check out - /blog/2014/07-23–and-unreal4/

I’m really excited to see Robert’s work here. Robert - thank you very much for creating this plug-in. We’re taking your lead and integrating as well.

[I’ve got lots of Lua experience too so I’ll do all I can to make it and any and all other scripting languages work even better. Let me know if there is any way to help out.]

The Unreal 4 plug-in is being developed right now and I’ll let everyone in this thread know about updates.

[Edit: I created a Plug-in thread so that people can ask Skookum related questions - ]

Nice. I’ll definitely have to check it out!

Could you start a separate thread for ? I’d like to ask you some questions and I don’t want to ask them here because it might be too offtopic.

Good idea.

The Skookum Plug-in thread is here:

I agree entirely, C# would be amazing. Although I think the script integration needs a lot more work before that’s possible.

C# Support would be awesome!