# Unreal Engine 4/5 Scripting System

[Home](./README.md)
[Installation](./installation-guide.md)
[Contributing](./contributing.md)
[Update Migration Guide](./upgrade-guide.md)

---

## Feature Overview

- [Blueprint Modloading](./feature-overview/blueprint-modloader.md)
- [Live Property Viewer and Editor](./feature-overview/live-view.md)
- [Dumpers](./feature-overview/dumpers.md)

## APIs

- [Lua API](./lua-api.md)
  - [Table Definitions]()
    - [Key](./lua-api/table-definitions/key.md)
    - [ModifierKey](./lua-api/table-definitions/modifierkey.md)
    - [EGameThreadMethod](./lua-api/table-definitions/egamethreadmethod.md)
    - [PropertyTypes](./lua-api/table-definitions/propertytypes.md)
    - [OffsetInternalInfo](./lua-api/table-definitions/offsetinternalinfo.md)
    - [ArrayPropertyInfo](./lua-api/table-definitions/arraypropertyinfo.md)
    - [CustomPropertyInfo](./lua-api/table-definitions/custompropertyinfo.md)
    - [EObjectFlags](./lua-api/table-definitions/eobjectflags.md)
    - [EInternalObjectFlags](./lua-api/table-definitions/einternalobjectflags.md)
    - [EFindName](./lua-api/table-definitions/efindname.md)
  - [Classes]()
    - [RemoteObject](./lua-api/classes/remoteobject.md)
    - [LocalObject](./lua-api/classes/localobject.md)
    - [UnrealVersion](./lua-api/classes/unrealversion.md)
    - [UE4SS](./lua-api/classes/ue4ss.md)
    - [Mod](./lua-api/classes/mod.md)
    - [UObject](./lua-api/classes/uobject.md)
    - [UStruct](./lua-api/classes/ustruct.md)
    - [UScriptStruct](./lua-api/classes/uscriptstruct.md)
    - [UClass](./lua-api/classes/uclass.md)
    - [UFunction](./lua-api/classes/ufunction.md)
    - [DelegateProperty](./lua-api/classes/delegateproperty.md)
    - [MulticastDelegateProperty](./lua-api/classes/multicastdelegateproperty.md)
    - [MulticastSpareDelegateProperty](./lua-api/classes/multicastsparsedelegateproperty.md)
    - [UEnum](./lua-api/classes/uenum.md)
    - [AActor](./lua-api/classes/aactor.md)
    - [FString](./lua-api/classes/fstring.md)
    - [FAnsiString](./lua-api/classes/fansistring.md)
    - [FUtf8String](./lua-api/classes/futf8string.md)
    - [FName](./lua-api/classes/fname.md)
    - [FText](./lua-api/classes/ftext.md)
    - [FieldClass](./lua-api/classes/fieldclass.md)
    - [TArray](./lua-api/classes/tarray.md)
    - [TMap](./lua-api/classes/tmap.md)
    - [TSet](./lua-api/classes/tset.md)
    - [UDataTable](./lua-api/classes/udatatable.md)
    - [RemoteUnrealParam](./lua-api/classes/remoteunrealparam.md)
    - [LocalUnrealParam](./lua-api/classes/localunrealparam.md)
    - [Property](./lua-api/classes/property.md)
    - [ObjectProperty](./lua-api/classes/objectproperty.md)
    - [StructProperty](./lua-api/classes/structproperty.md)
    - [BoolProperty](./lua-api/classes/boolproperty.md)
    - [ArrayProperty](./lua-api/classes/arrayproperty.md)
    - [UObjectReflection](./lua-api/classes/uobjectreflection.md)
    - [FOutputDevice](./lua-api/classes/foutputdevice.md)
    - [FWeakObjectPtr](./lua-api/classes/fweakobjectptr.md)
    - [UWorld](./lua-api/classes/uworld.md)
  - [Global Functions]()
    - [print](./lua-api/global-functions/print.md)
    - [CreateInvalidObject](./lua-api/global-functions/createinvalidobject.md)
    - [FName](./lua-api/global-functions/fname.md)
    - [FText](./lua-api/global-functions/ftext.md)
    - [IterateGameDirectories](./lua-api/global-functions/iterategamedirectories.md)
    - [FindObject](./lua-api/global-functions/findobject.md)
    - [FindObjects](./lua-api/global-functions/findobjects.md)
    - [StaticFindObject](./lua-api/global-functions/staticfindobject.md)
    - [FindFirstOf](./lua-api/global-functions/findfirstof.md)
    - [FindAllOf](./lua-api/global-functions/findallof.md)
    - [StaticConstructObject](./lua-api/global-functions/staticconstructobject.md)
    - [ForEachUObject](./lua-api/global-functions/foreachuobject.md)
    - [NotifyOnNewObject](./lua-api/global-functions/notifyonnewobject.md)
    - [ExecuteWithDelay](./lua-api/global-functions/executewithdelay.md)
    - [ExecuteInGameThread](./lua-api/global-functions/executeingamethread.md)
    - [Delayed Actions](./lua-api/global-functions/delayedactions.md)
    - [ExecuteAsync](./lua-api/global-functions/executeasync.md)
    - [LoopAsync](./lua-api/global-functions/loopasync.md)
    - [LoadAsset](./lua-api/global-functions/loadasset.md)
    - [RegisterKeyBind](./lua-api/global-functions/registerkeybind.md)
    - [IsKeyBindRegistered](./lua-api/global-functions/iskeybindregistered.md)
    - [RegisterHook](./lua-api/global-functions/registerhook.md)
    - [UnregisterHook](./lua-api/global-functions/unregisterhook.md)
    - [RegisterCustomProperty](./lua-api/global-functions/registercustomproperty.md)
    - [RegisterCustomEvent](./lua-api/global-functions/registercustomevent.md)
    - [RegisterInitGameStatePreHook](./lua-api/global-functions/registerinitgamestateprehook.md)
    - [RegisterInitGameStatePostHook](./lua-api/global-functions/registerinitgamestateposthook.md)
    - [RegisterBeginPlayPreHook](./lua-api/global-functions/registerbeginplayprehook.md)
    - [RegisterBeginPlayPostHook](./lua-api/global-functions/registerbeginplayposthook.md)
    - [RegisterProcessConsoleExecPreHook](./lua-api/global-functions/registerprocessconsoleexecprehook.md)
    - [RegisterProcessConsoleExecPostHook](./lua-api/global-functions/registerprocessconsoleexecposthook.md)
    - [RegisterCallFunctionByNameWithArgumentsPreHook](./lua-api/global-functions/registercallfunctionbynamewithargumentsprehook.md)
    - [RegisterCallFunctionByNameWithArgumentsPostHook](./lua-api/global-functions/registercallfunctionbynamewithargumentsposthook.md)
    - [RegisterULocalPlayerExecPreHook](./lua-api/global-functions/registerulocalplayerexecprehook.md)
    - [RegisterULocalPlayerExecPostHook](./lua-api/global-functions/registerulocalplayerexecposthook.md)
    - [RegisterConsoleCommandHandler](./lua-api/global-functions/registerconsolecommandhandler.md)
    - [RegisterConsoleCommandGlobalHandler](./lua-api/global-functions/registerconsolecommandglobalhandler.md)
    - [DumpAllObjects](./lua-api/global-functions/dumpallobjects.md)
    - [GenerateSDK](./lua-api/global-functions/generatesdk.md)
    - [GenerateLuaTypes](./lua-api/global-functions/generateluatypes.md)
    - [GenerateUHTCompatibleHeaders](./lua-api/global-functions/generateuhtcompatibleheaders.md)
    - [DumpStaticMeshes](./lua-api/global-functions/dumpstaticmeshes.md)
    - [DumpAllActors](./lua-api/global-functions/dumpallactors.md)
    - [DumpUSMAP](./lua-api/global-functions/dumpusmap.md)
    - [LoadExport](./lua-api/global-functions/loadexport.md)
    - [Mod Management](./lua-api/global-functions/modmanagement.md)
  - [Examples](./lua-api/examples.md)
  - [Creating a Lua Mod](./guides/creating-a-lua-mod.md)
  - [Using Custom Lua Bindings](./guides/using-custom-lua-bindings.md)
- [C++ API](./cpp-api.md)
  - [BP Macros](./cpp-api/bp-macros.md)
  - [C++ Examples](./cpp-api/cpp-examples.md)
  - [Creating a C++ Mod](./guides/creating-a-c++-mod.md)
  - [Installing a C++ Mod](./guides/installing-a-c++-mod.md)
  - [GUI tabs with a C++ Mod](./guides/creating-gui-tabs-with-c++-mod.md)
  - [Accessing UE properties with a C++ mod](./guides/accessing-ue-properties-c++.md)

## Guides

- [Guides]()
  - [Fixing missing AOBs](./guides/fixing-compatibility-problems.md)
  - [Fixing missing AOBs (Advanced)](./guides/fixing-compatibility-problems-advanced.md)
  - [Generating UHT headers](./guides/generating-uht-compatible-headers.md)


## Misc

- [Custom Game Configs](./custom-game-configs.md)
- [Games with AOBs](./patternsleuth-games.md)
- [Devlogs](./devlogs.md)
  - [DataTables in UE4SS](./devlogs/datatables-in-ue4ss.md)