๐ Intelligence for Everyone. Free, forever.
"Use llm-easyshell-lite to bring any LLM agent into your Unreal Editor โ list, inspect, search, gamestate โ out of the box, zero cost."
๐ฏ Or for the integrated Agent skill โ drop in the LLMEasyShell Lite skill from the skill repo, and any LLM agent explores the editor end-to-end with 10 built-in commands (9 read-only + reload for Windows-only LiveCoding) + an open PyAbility runtime for anything else you want to wire in.
Co-exists with LLMEasyShell Advanced (full read + write + automation, separate TCP port range).
๐ Positioning โ Lite is an observation plane, not a permission boundary. The 9 built-in commands are genuinely read-only: they never touch project data. Two surfaces are deliberately open, and Lite does not sandbox either one: the PyAbility runtime (full UE Python API) and third-party plugin abilities (each plugin defines its own command set and write semantics โ a plugin's generate / delete / compile is reachable from Lite exactly as it is from Advanced). Need a hard read-only guarantee? Stay on the built-in command set, or don't install the plugins whose abilities you don't want an agent to reach.
๐ Tutorial: LLMEasyShell Lite - Free Agent Bridge ยท ๐ Skill Repo: github.com/ituiyuio/Yomin-Fab-LLM-Unreal-Plugin
Features:โ Free, Forever - Intelligence shouldn't be locked behind a paywall. Lite is the on-ramp for every Unreal dev curious about LLM-driven workflows.
โ 10 Built-in Commands - 9 read-only queries (ls / cat / find / discover / info / help / gamestate / log / msglog) + 1 self-maintenance livecoding (LiveCoding trigger, Windows only; aliases reload / lc).
โ Open PyAbility Runtime - Drop any .py into abilities/ and it's online to every LLM agent. The Python runtime is the full UE Python API โ read, write, spawn, save, whatever you script.
@read_only decorator โ best-effort, not safety guarantee. UE Python C++ bindings are immutable (unreal.EditorAssetLibrary.save_asset cannot be setattr-overridden), so the listed 10-entry WRITE_API_BLOCKLIST cannot intercept actual UE Python write API calls. The decorator still functions as a marker (the wrapper sets a thread-local flag) and is honored by any Python-level wrapper code you write inside your ability. The blocklist is a courtesy reminder, not a sandbox. Lite's open PyAbility framework gives full UE Python API access regardless.
โ LLM-First Design - The agent sends a one-line command, gets back JSON โ no UE editor knowledge required
โ Minimal Dependencies - Only 2 required engine plugins (PythonScriptPlugin + EditorScriptingUtilities) + 1 Windows-only optional (LiveCoding). Drops into any UE 5.8+ project without a heavy install.
โ Independent TCP Port - 15201โ15250, fully disjoint from Advanced (15151โ15200). Install either or both โ no conflict
โ C++ Ability Loader - Other plugins (e.g. material, vfx, pcg, ui, llmms, statetree, quixel) auto-register their abilities to Lite if installed alongside โ the command set and write semantics are the plugin's own; Lite registers them as-is, without filtering or sandboxing
โ Multi-Platform - Win64 + Mac + Linux
๐ฆ What You Get:TCP server (15201โ15250) ยท 10 built-in commands (9 read-only + livecoding, aliases reload/lc, Windows-only LiveCoding) ยท Open PyAbility framework (full UE Python access) ยท Third-party plugin abilities (open, plugin-defined) ยท Asset & scene introspection ยท Niagara message log capture
Technical InformationFeatures: TCP server (port 15201โ15250), 9 built-in read-only commands (ls / cat / find / discover / info / help / gamestate / log / msglog) + livecoding (Windows-only LiveCoding trigger; aliases reload / lc), open PyAbility framework (full UE Python access), Niagara message-log capture, multi-plugin C++ ability auto-registration (plugin-defined command sets, not sandboxed by Lite), AI-agent-first JSON protocol.
Code Modules: LLMEasyShellLite (Editor)
Number of Blueprints: 0
Number of C++ Classes: ~24
Network Replicated: No
Supported Development Platforms: Windows: Yes, Mac: Yes, Linux: Yes
Supported Target Build Platforms: Windows, Mac, Linux
Documentation Link: https://ituiyuio.github.io/Yomin-Fab-LLM-Unreal-Plugin/
Example Project: Any UE 5.8+ project โ connect a TCP client to localhost:15201 (first free port in 15201โ15250).
Important/Additional Notes: Requires PythonScriptPlugin and EditorScriptingUtilities (both bundled with UE 5.8+). Plugin is Editor-only (Type: Editor in .uplugin). No third-party C++ or Python libraries are shipped โ see Source/ThirdParty/NOTICE.txt for the explicit third-party declaration. Free of charge, with no paid tier.
๐ 5-Minute QuickstartGet from git clone to a JSON response in five minutes.
1. InstallDrop the plugin into your project's Plugins/ folder:
MyProject/ โโโ MyProject.uproject โโโ Plugins/ โโโ LLMEasyShellLite/
2. Enable the two required engine pluginsEdit your .uproject and add:
"Plugins": [ { "Name": "PythonScriptPlugin", "Enabled": true }, { "Name": "EditorScriptingUtilities", "Enabled": true } ]
3. Compile and restart the editorRegenerate project files (right-click .uproject โ Generate Visual Studio project files), build the Development Editor target, and launch the editor. On first launch the editor detects the new plugin and offers to enable it โ accept. The TCP listener binds the first free port in 15201โ15250. Check Window โ Output Log โ LogLLMEasyShellLite for a line like:
LogLLMEasyShellLite: LLMEasyShell TCP Server started on port 15201
4. Connect and run three commandsAny plain TCP client works. The reference CLI from the skill repo wraps this โ for a quick check, netcat is enough:
$ nc localhost 15201 > info {"project":"MyGame","engine":"5.8","pie":"stopped","port":15201} > ls /Level/Actors {"ok":true,"items":["BP_Player_C_1","BP_PlayerStart_1",...],"count":2} > gamestate {"ok":true,"wave":3,"health":75,"gold":240}
๐ You're up. The editor is now driving from any agent that can open a TCP socket.
Intelligence for everyone. Successful development to you!LLMEasyShellLite v1.2.0-lite | YominUnreal | Free