The Wayback Machine - https://web.archive.org/web/20210123041856/https://github.com/Tencent/UnLua
Skip to content
master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

LOGO

Overview

UnLua is a feature-rich, easy-learning and highly optimized scripting solution for UE4. UnLua follows the programming pattern of UE4. UE4 programmers can use it at zero learning cost.

Main features

  • Access all UCLASS, UPROPERTY, UFUNCTION, USTRUCT, UENUM without glue codes.
  • Override 'BlueprintEvent' (UFUNCTIONs tagged with 'BlueprintImplementableEvent' or 'BlueprintNativeEvent', All Events/Functions defined in Blueprints) without helper codes.
  • Override Replication Notify without helper codes.
  • Override Animation Notify without helper codes.
  • Override Input Event without helper codes.
  • Simple solution to export classes, member variables, member functions, global functions and enums outside the reflection system statically.
  • Highly optimized UFUNCTION invoking (including persistent parameters buffer, optimized local function invoking, optimized parameters passing, optimized output values handling).
  • Optimized containers (TArray, TSet, TMap) accessing. There is no conversion between Lua table and containers.
  • Optimized structure accessing.

More features

  • Support default parameters of UFUNCTION (tagged with 'BlueprintCallable' or 'Exec') parameters.
  • Support customized collision enums.
  • Support server/clients simulation in editor.
  • Support exporting Lua template file for blueprints.
  • Support calling Latent functions in Lua coroutines.

Modules

  • UnLua. Main 'Runtime' module.
  • UnLuaEditor. 'Editor' module includes editor extention (Lua template exporting) and a commandlet.
  • UnLuaDefaultParamCollector. 'Program' module to collect default parameters for UFUNCTION.
  • UnLuaIntelliSense. 'Program' module to generate IntelliSense (symbols) of all UCLASS, UPROPERTY, UFUNCTION, USTRUCT, UENUM for a private IDE (which will be PUBLIC soon). It's disabled by default.

Supported engine versions

Unreal Engine 4.17.x - Unreal Engine 4.26.x

NOTE: build.cs files need tiny modifications under 4.17.x and 4.18.x.

Quick start

  • Create a new Blueprint.

CREATE_BLUEPRINT

  • Implement 'UnLuaInterface'.

IMPLEMENT_UnLuaInterface

  • Return a Lua file path (relative to 'Content/Script') in 'GetModuleName'.

IMPLEMENT_GetModuleName

  • Create Lua template.

CREATE_LUA_TEMPLATE

  • Generated Lua template.

GENERATED_LUA_TEMPLATE

  • Add Lua codes to Lua template.

FINAL_LUA_FILE

Documentation

License

About

A feature-rich, easy-learning and highly optimized Lua scripting plugin for UE4.

Resources

License

Packages

No packages published