UnrealDev.nvim
The Neovim suite for Unreal Engine development. Integrates plugins like UEP, UBT, ULG, UCM, and more for a unified experience.
Install / Use
/learn @taku25/UnrealDev.nvimREADME
UnrealDev.nvim
Unreal Engine Development Sweet 💓 Neovim
<img width="2048" height="1342" alt="screenshot-20251122-191958" src="https://github.com/user-attachments/assets/4b26c5e7-461b-4e78-953b-9b2d6d24988e" />UnrealDev.nvim is a thin wrapper plugin that integrates the functionality of the Unreal Neovim Plugin Sweet suite (UEP, UBT, UCM, ULG, USH, UEA, UNX, UDB) into a single global command, :UDEV.
Its purpose is to simplify the setup of each plugin and allow all Unreal Engine-related operations to be called from a single interface.
Introduction to Some Features
<table> <tr> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/4cc958a0-515e-4b4d-bfdc-a2b5fde27146" /> UDEV refresh </div> </td> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/30596bc6-a2a3-4805-a84e-1d28350da207" /> UDEV gencompiledb </div> </td> </tr> <tr> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/b0a5080a-7f45-4d2f-94ed-898b307239b0" /> UDEV tree </div> </td> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/0f0ef9a4-770e-4900-a5cf-6a29596a90c4" /> UDEV symbols </div> </td> </tr> <tr> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/f1907046-d1bb-48cb-936d-5ad45f1809cc" /> UDEV build & error </div> </td> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/7753f489-b1ec-44bf-bea2-16ba268262cc" /> UDEV new class </div> </td> </tr> <tr> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/c4bd92d5-e1e6-44ac-8b5c-b13bed5496ab" /> UDEV classes </div> </td> <td> <div align=center> <img width="100%" alt="image" src="https://github.com/user-attachments/assets/ab76c626-f3d1-435a-b720-88cdb73fc731" /> UDEV config_grep </div> </td> </tr> </table>many other features
⚡ Development Status & Architecture
Note UnrealDev.nvim acts as a meta-plugin (wrapper) for the Unreal Engine development suite. While this specific repository primarily handles orchestration, the core features are actively developed and updated frequently in the individual modules listed below.
📚 Detailed Documentation (Wiki)
Detailed installation instructions, configuration, command lists, and API usage examples are all available on the GitHub Wiki.
Please refer to the wiki first when setting up or customizing.
✨ Features
- Unified Command Interface:
- Call all detected plugin functions from the suite (project exploration, build, class management, log viewing, shell operations, asset inspection) from the
:UDEVcommand.
- Call all detected plugin functions from the suite (project exploration, build, class management, log viewing, shell operations, asset inspection) from the
- Automatic Feature Detection:
- Auto-detects installed suite plugins (
UEP,UBT,UCM,ULG,USH,UEA) viapcalland provides commands only for those that are available.
- Auto-detects installed suite plugins (
- Unified API:
- Access all available suite plugin API functions via
require('UnrealDev.api'), making it easy to create keymaps and automation.
- Access all available suite plugin API functions via
🔧 Requirements
- Neovim v0.11.3 or later
- Rust (Required to build the scanner for UNL.nvim)
- UNL.nvim (Required core library)
- ** Suite Plugins:** (Install any or all of these)
✅ For a complete list of external tool requirements (like fd, rg) and recommended UI plugins (like telescope, neo-tree), please see the Wiki Installation Page.
🚀 Installation
Example installation for lazy.nvim.
UnrealDev.nvim should be listed, and any suite plugins you want to use should be listed as well (they are no longer hard dependencies, but peers).
return {
{
'taku25/UnrealDev.nvim',
-- Define all plugins in the development suite.
-- You can remove any plugins you don't use.
dependencies = {
{
'taku25/UNL.nvim', -- Core Library
build = "cargo build --release --manifest-path scanner/Cargo.toml",
lazy = false,
},
'taku25/UEP.nvim', -- Project Explorer
'taku25/UEA.nvim', -- Asset (Blueprint) Inspector
'taku25/UBT.nvim', -- Build Tool
'taku25/UCM.nvim', -- Class Manager
'taku25/ULG.nvim', -- Log Viewer
'taku25/USH.nvim', -- Unreal Shell
{
'taku25/UNX.nvim', -- Logical View
dependencies = {
"MunifTanjim/nui.nvim",
"nvim-tree/nvim-web-devicons",
},
},
'taku25/UDB.nvim', -- Debug
{
'taku25/USX.nvim', -- Syntax highlight
lazy=false,
},
-- UI Plugins (Optional)
'nvim-telescope/telescope.nvim',
'j-hui/fidget.nvim',
'nvim-lualine/lualine.nvim',
{
'nvim-treesitter/nvim-treesitter',
branch = "main",
config = function(_, opts)
vim.api.nvim_create_autocmd('User', { pattern = 'TSUpdate',
callback = function()
local parsers = require('nvim-treesitter.parsers')
parsers.cpp = {
install_info = {
url = 'https://github.com/taku25/tree-sitter-unreal-cpp',
-- Check if need to update to the latest revision
revision = '7bbb85f1fcc6e109c90cea2167e88a5a472910d3',
},
}
parsers.ushader = {
install_info = {
url = 'https://github.com/taku25/tree-sitter-unreal-shader',
-- Check if need to update to the latest revision
revision = '26f0617475bb5d5accb4d55bd4cc5facbca81bbd',
},
}
end
})
local langs = { "c", "cpp", "ushader","json" }
require("nvim-treesitter").install(langs)
local group = vim.api.nvim_create_augroup('MyTreesitter', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
group = group,
pattern = langs,
callback = function(args)
vim.treesitter.start(args.buf)
vim.bo[args.buf].indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})
end
}
-- ...
},
opts = {
-- Configuration specific to UnrealDev.nvim
-- (e.g., disable setup for plugins you don't have)
setup_modules = {
UBT = true,
UEP = true,
ULG = true,
USH = true,
UCM = true,
UEA = true,
UNX = true,
},
},
},
-- ---
-- Individual Plugin Settings (Optional)
-- ---
--{ 'taku25/UBT.nvim', opts = { ... } },
--{ 'taku25/UEP.nvim', opts = { ... } },
--{ 'taku25/UEA.nvim', opts = { ... } },
-- ...
}
✅ Verify Installation
After installation, run the following command to ensure all dependencies, external tools (fd, rg), and the custom tree-sitter parser are correctly set up:
:checkhealth UnrealDev
If you see any Errors or Warnings, please follow the advice displayed in the checkhealth output.
✅ For a complete installation example including UI plugins, and detailed opts examples for each plugin (UEP, UBT, etc.), please see the Wiki Installation Guide.
⚙️ Configuration
Configuration for UnrealDev.nvim itself is minimal, such as the setup_modules table shown above.
Configuration for each plugin in the suite (UEP, UBT, etc.) is done by passing opts to each plugin's spec in lazy.nvim (see installation example above).
✅ For detailed configuration options for each plugin, please refer to the Wiki Configuration Page or each plugin's individual README.
⚡ Usage
All commands start with :UDEV. Only commands for installed plugins will be available.
" ===== (Examples) ===== "
" Rescan the project (from UEP)
:UDEV refresh
" Find files (from UEP)
:UDEV files
" Build a target (from UBT)
:UDEV build
" Create a new class (from
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
