Skip to content

Latest commit

 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unrealium.nvim

A lightweight Neovim plugin for Unreal Engine projects for the Editor.


Features

  • Detects and initializes automatically inside Unreal project directories
  • Makes Engine files read-only to avoid triggering recompiles.
  • Adds convenient user commands for building, running, and searching code
  • Integrates with Snacks picker and vim-dispatch
  • Currently tested on Linux. MacOS would be a nice-to-have. Windows support is... unlikely.

Installation

Unrealium depends on both Snacks and Vim-Dispatch (via the Neovim shim).

Lazy.nvim config:

{
  'jacksonhvisuals/unrealium.nvim',
  dependencies = {
    {
      'radenling/vim-dispatch-neovim',
      dependencies = { 'tpope/vim-dispatch' },
    },
    {
        'folke/snacks.nvim'
    }
  },
}

Project Configuration

In an effort to provide per-project flexibility, unrealium.nvim depends on there being a .unrealium file in the root folder of your Unreal Project. While it could support some sort of magical Unreal Engine detection through other config files, PATH, etc, you often want to be building against a very particular engine anyway.

{
  "EnginePath": "Path/To/Unreal/Install/Dir",
  "allowEngineModifications": false,
}

EnginePath should be the root Engine install directory, not it's Engine subfolder. allowEngineModifications is optional, and defaults to false.


Available User Commands

Unrealium automatically activates when the current working directory is inside an Unreal Engine project.

Command Args Description
:UBuild <target> (Development / Debug) Build the Unreal project using make against either Dev/Debug targets
:URun <target> (Development / Debug) Launch Unreal Editor built against Dev/Debug via Dispatch
:UGenProjectFiles N/A Generate Makefile and compile_commands.json for the project
:UGenerateClangDatabase <target> (Project / Engine) Regenerate the compile_commands file
:USearch <search_type> (search_files / live_grep) <context> (Project / Engine / All) Use Snacks to search in Project, Engine, or both

Extensibility

In an effort to make Unrealium extensible with your own preferences and vim settings, you can create an autocommand to fire off for the UnrealiumStart pattern.

vim.api.nvim_create_autocmd('User', {
  pattern = 'UnrealiumStart',
  group = vim.api.nvim_create_augroup('mygroup', { clear = true }),
  callback = function()
    print("Do fancy Unreal development-specific stuff here!")
  end,
})

About

A neovim plugin bringing IDE-like features for Unreal Engine development

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages