Standalone Unreal Engine build tooling for Neovim.
UBuildTool.nvim is the first split-out piece from UCore.nvim. It focuses on:
- building the configured default Unreal target
- stopping running builds
- opening the current project in Unreal Editor or Game mode
- preparing
compile_commands.jsonforclangd - build log coloring and quickfix population
- optional shared bottom output tabs when
UCore.nvimis present
{
"vlicecream/UBuildTool.nvim",
main = "ubuildtool",
lazy = false,
opts = {},
}:UBuildTool
:UBuildTool build [configuration] [platform] [target]
:UBuildTool build-stop
:UBuildTool launch
:UBuildTool launch !
:UBuildTool editor
:UBuildTool game
:UBuildTool editor !
:UBuildTool game !
:UBuildTool clangd-db
:checkhealth ubuildtoolrequire("ubuildtool").setup({
cache_dir = vim.fn.stdpath("cache") .. "/ubuildtool",
engine_roots = {},
startup = {
mode = "editor", -- "editor" | "game"
configuration = "Development", -- use "DebugGame" / "Debug" for debug-style builds
platform = "Win64",
editor_target = nil,
game_target = nil,
},
build = {
open_quickfix_on_error = true,
include_warnings = true,
color_log = true,
autosave = true,
},
editor = {
build_before_open = true,
autosave = true,
},
clangd = {
auto_generate_compile_commands = true,
prewarm_on_setup = true,
remove_source_compile_commands = true,
},
})startup.mode only controls whether normal launch opens editor or game.
If you want what you call "debug mode", set startup.configuration to DebugGame or Debug. Do not put that into startup.mode.
- Engine root resolution supports:
- explicit
engine_roots - Epic Launcher installs
- source-build registry entries on Windows
- explicit
launchuses this plugin's own normal startup config. It does not readUDebugTool.nvimconfig.editoralways forces Unreal Editor launch.gamealways forces Unreal Game launch.buildwithout explicit arguments usesstartup.configuration,startup.platform, and the mode-specific target from this plugin's config.clangd-dbstagescompile_commands.jsoninto the plugin cache understdpath("cache")/ubuildtool/- when
UCore.nvimis loaded, build logs and Unreal Editor launch messages are sent into the shared bottom output workspace instead of opening a separate build split