
الوصف
Product Title
BCMakeLuaEditor — UnLua Binding & Lua Template Generator for Unreal Engine
Short Description
One-click Lua file generation and automatic UnLua binding for Blueprints, Widget Blueprints, and C++ classes. Built for large-scale UnLua projects — eliminate boilerplate, enforce consistency, and ship faster.
Long Description
BCMakeLuaEditor is a production-ready UnLua companion tool for Unreal Engine 5. Right-click any Blueprint, Widget Blueprint, or C++ class in the Content Browser and generate a fully-annotated Lua module — bound, saved, and ready to use — all in a single step.
Designed for teams shipping UnLua at scale. Stop hand-writing UnLua.Class() stubs, delegate bindings, and widget event wiring. Let the tool handle the boilerplate while your engineers focus on gameplay logic.
✨ Key Features
One-Click Lua Generation — Right-click → Generate Lua File. A complete Lua module with Initialize, DefineVariate, BindingEvent, and UnbindEvent is created instantly.
Automatic UnLua Binding — Blueprints are bound and saved automatically. C++ classes get IUnLuaInterface injection with a full source-change preview before any file is touched.
Smart Event & Delegate Harvesting — The dialog scans the target for all BlueprintImplementableEvent overrides, BlueprintAssignable delegates, and Widget events. Check the ones you need; stubs and :Add/:Remove bindings are generated automatically.
Incremental Merge — No Overwrite — Regenerating on an already-bound target only appends new items. Existing Lua code is never touched. Already-generated items are locked and marked [generated] — you cannot accidentally duplicate them.
Live Path Preview — See the exact output file path in real time as you adjust folder, prefix/suffix, and directory-level trimming. If the file already exists, the preview warns you before generation.
C++ Source Modification with Audit Trail — Before modifying any .h, .cpp, or .Build.cs, a preview dialog shows exactly what will change. The tool never makes a half-edit: if the .cpp cannot be located, it aborts cleanly rather than leaving a broken build.
Bilingual UI (中文 / English) — The entire interface follows the editor language. Editor set to Chinese → everything shows in Chinese. Any other language → English. Generated file comments also match the active language at generation time.
Editor-Only, Zero Runtime Impact — This is a pure editor tool. Nothing ships to packaged builds.
📋 Requirements
RequirementDetailsEngineUnreal Engine 5.7 / 5.8PrerequisiteUnLua 2.x — This plugin is a companion tool. UnLua must be installed and enabled in your project first.PlatformsWindows (editor); generated Lua files are platform-agnosticModule TypeEditor-only — no runtime dependency
🔧 How It Works
For Blueprints & Widget Blueprints:
Right-click the asset in the Content Browser → BitCool Lua → Generate Lua File
In the dialog, confirm the file name, output path, and select which events/delegates/widget events to generate
Click OK — the Lua file is created, the asset is bound, and the Blueprint is saved
For C++ Classes:
Right-click the class → BitCool Lua → Generate Lua File
Same generation dialog as above
After confirming generation options, a source-change preview dialog appears showing the exact modifications to your .h, .cpp, and .Build.cs
Confirm to apply the changes, then rebuild your project
Incremental Update (Already-Bound Target):
Right-click → Generate Lua File on a target that already has a Lua module
Previously generated items appear locked and marked [generated]
Check only the new items you want to add
The tool merges new stubs and bindings into the existing file — nothing is overwritten
🧭 Module Name & Path Rules
Asset LocationLua Output PathProject C++ / /Game<Project>/Content/Script/...Regular plugin assets<Plugin>/Content/Script/...GameFeatures plugin assets<Plugin>/Content/Script/...
Module names are derived from the relative path under Script/, joined with dots: Script/UI/MainMenu.lua → module name UI.MainMenu
Use the Remove Directory Levels option to flatten deep asset directories into a cleaner Lua structure.
🛡️ Safety Guarantees
No silent failures — if a binding insertion point cannot be found, the tool reports exactly what went wrong and what to do
No half-edits — C++ modification is all-or-nothing; if any step is blocked, nothing is written
No overwrites — incremental mode only appends; existing code is never modified
Self-documenting — the C++ preview dialog serves as an audit log of what changed and why
📖 Documentation — [GitHub](https://github.com/lmxqmm/BCMakeLuaEditor/tree/main/Docs)
🎬 Video — [bilibili](https://www.bilibili.com/video/BV1UGu16PE69/)
🐛 Bug Reports & Feature Requests — [Discord](https://discord.gg/DckJCFEZfK)| QQ Group: 52893485



