sluaunreal

lua dev plugin for unreal engine 4 or 5

OTHER License

Stars
1.7K

Bot releases are hidden (Show)

sluaunreal - 2.1.3 release Latest Release

Published by zjhongxian 7 months ago

bug fixes:

  1. Fixed TArray member access as binary string instead of TArray type.
  2. Fixed TArray<TEnumAsByte> member access as TArray instead of binary string type.
  3. Fixed UUserDefinedEnum access error: GetDisplayNameTextByIndex API may receive Localized Text as Source Text, which will cause a nil value to be returned.
  4. lua replicated:
    • Fixed: values also have their shadow data participate in GC marking to prevent wild pointers.
    • Fixed: Changed the Value Type of ClassLuaReplicatedMap class to pointer type to avoid memory invalidation bug caused by Resize.
    • Fixed: Lua值复制类型为Array时,Array扩容的情况下old data没有及时更新导致的不同步。
    • Fixed the shared serialization copy error when the Lua replication type is set to Array.
    • Fixed:Out of range in FLuaNetSerialization::Write with arraySharedSerializetion SharedPropertyInfo.
  5. Remove the restriction of assigning values to ReadOnly Properties in Lua.
  6. Fixed: Value misalignment when iterating through UObject and UStruct: when encountering types such as Struct, Array, Map, and Set, the value of the previous member variable will be overwritten. eg.
local SluaTestCase=import('SluaTestCase');
local t=SluaTestCase()
for k, v in pairs(t) do
    print("SluaTestCase iter", k, v)
end
print("SluaTestCase weakptr:", t.weakptr) --error: t.weakptr will be LuaArray instead of uobject type.
  1. Fixed memory leak caused by the assignment error in returnProperty, which resulted in the failure to destruct the return value by returnProperty->DestroyValue_InContainer(locals).
  2. Fixed When executing the ProcessContextOpcode bytecode and triggering the luaOverrideFunc function, the lack of destruction of the initialized parameters in Stack.Step(Code) leads to memory leaks.
  3. Standardize the processing of FLantent type parameters: change from name-based determination to more accurate Property type determination.
  4. Add wrapper struct type check in the checkValue operator.
  5. Fixed:luaFuncClosure cache with CDO override type Object will incorrectly replace "Instance" override type Object's pure lua function.
sluaunreal - 2.1.2 release

Published by zjhongxian 12 months ago

  1. 修复luaReplicatedIndex初始化错误等
  2. 调整一些类的 _PostConstruct 函数调用时机
  3. 添加ALuaPawn、ALuaCharacter类
  4. 删除一些老版本开关代码
sluaunreal - 2.1.1 release

Published by zjhongxian 12 months ago

  1. Add support for FSoftObjectPtr struct, FSoftObjectProperty, and FSoftClassProperty.
  2. Lua defined Net Replication Property usage optimise, eg:
function LuaGameState:GetLifetimeReplicatedProps()
    local FVectorType = import("Vector")
    { "Position", ELifetimeCondition.COND_SimulatedOnly, FVectorType},
end

before:
self.Position.X = 100
self.Position = self.Position

after:
self.Position.X = 100

Not need to write "self.Position = self.Position".

  1. Update LuaWrapper tool and corresponding code.
  2. Fixed RPC function cleanup bug.
  3. Allow Lua and Blueprint classes to inherit without strict correspondence, solving the problem of generating multiple RPC functions with the same name.
  4. Fixed lua replicated bugs.
  5. Support Unreal Engine 5.3
sluaunreal - 2.1.1 release

Published by zjhongxian about 1 year ago

  1. Add support for FSoftObjectPtr struct, FSoftObjectProperty, and FSoftClassProperty.
  2. Update LuaWrapper tool and corresponding code.
  3. Fixed RPC function cleanup bug.
  4. Allow Lua and Blueprint classes to inherit without strict correspondence, solving the problem of generating multiple RPC functions with the same name.
  5. Fixed lua replicated bugs.
  6. Support Unreal Engine 5.3
sluaunreal - 2.1.0 release

Published by zjhongxian over 1 year ago

Stable version verified in PUBG Mobile.
1、Add AddLuaNetListener/RemoveLuaNetListener API for lua net property monitoring.
2、Optimise GC :The Override object of the Instance type performs cache processing when calling a Lua function through userdata to prevent generating a closure every time it is called.
3、UEnum optimization:UEnum type maybe got nil because FName Case Insensitive.
4、Add struct clone api,eg: FVector():clone()
5、fixed many bugs

sluaunreal - 2.0.2 release

Published by zjhongxian over 1 year ago

sluaunreal - 2.0.1 release

Published by zjhongxian over 1 year ago

sluaunreal - 2.0.0 release

Published by zjhongxian over 1 year ago

slua unreal 2.0.0 version.

sluaunreal - 1.3.3 release

Published by pangweiwei about 4 years ago

fix #344
fix #349
fix #350
fix #351
fix #352
fix #363
fix #364
many minor fixes

sluaunreal - 1.3.2 release

Published by pangweiwei about 4 years ago

fix building error on UE 4.24
add type information to CheckSelf while object had free.
fix #323
fix #330
fix #290
fix replace-all mistake to gc a value type

sluaunreal - 1.3.1 release

Published by pangweiwei over 4 years ago

fix #290
fix #306
fix value removed on luamap collected an element
fixed native memory leak while call ufuncClosure!
fix memory leak in LuaBase and compatible with UE 4.18
change LoadFileDelegate signature to return TArray
profiler support coroutine and optimize CPU cost of memory profile

sluaunreal - 1.3 release

Published by pangweiwei over 4 years ago

fix #288
fix #254
fix #251
fix #250
fix #252
fix #249
fix #241
fix #240
fix #239
fix invalid access of LuaArray and LuaMap
fix memory leak on push a struct value
fix link error when link with FFrame on some platform

sluaunreal - 1.2.1 release

Published by pangweiwei almost 5 years ago

fix #233
fix #235

sluaunreal - 1.2.0 release

Published by pangweiwei almost 5 years ago

add memory profiler tool, see how to use (in chinese)
redesign super call for override function in lua
fix LuaState::get in LuaBase, now LuaBase bind to GameInstance as default
add support override bp function call from bp
fix LuaArray & LuaMap crash on GC
fix loadObject to load enum/class/struct
fix import UUserDefinedEnum can't get name as key
many minor fixes
fix #199
fix #201
fix #206
fix #223
fix #224

sluaunreal - 1.1.0 release

Published by pangweiwei about 5 years ago

add support for UE 4.23
add support for profiler in real device, now you can profile your lua & cpp code in real device by a visual tool
add support to export FDataTime
fix LuaOwnedPtr can't cast parent raw pointer
fix #183
fix #182
fix #185
fix #193
some minor fixs

sluaunreal - 1.0.8 release

Published by pangweiwei about 5 years ago

fix #170
fix #173
fix #174

sluaunreal - 1.0.7 release

Published by pangweiwei over 5 years ago

fix crash on unlinkUObject

sluaunreal - 1.0.6 release

Published by pangweiwei over 5 years ago

fix #161 , fix lua delegate can't be remove from objRefs

sluaunreal - 1.0.5 release

Published by pangweiwei over 5 years ago

add ULuaActorComponent;
using SLUA_NS for namespace, You can change it conveniently in your project;
fix some compile error on UE 4.18;
fix cppbinding export child type;
fix duplicated symbols on mac building;
fix TSharedRef throw an exception on assign it a nullptr;
fix many bugs:
fix #150
fix #149
fix #141
fix #140
fix #136
fix #129
fix #130
fix #128
fix #116

sluaunreal - 1.0.4 release

Published by pangweiwei over 5 years ago

add DefLuaProperty to add property for cppbinding
add console command "slua.Do" to run lua script
import function can search UEnum
remove LuaEnums, native enum can exported by cppbinding, blueprint enum can import by the "import" function
fix crash on call super method if T isn't an UObject
fix crash on debug caused script ANR
fix compile error on Android
fix #107
fix #109, add util function isValid to check whether ud is valid