DEV Community

taku25
taku25

Posted on

[Neovim x UE] Optimization via Rust Server & .uasset Binary Parsing (Weekly Update)(2026/02/16)

Introduction
Here is this week's update!
Unlike previous posts, I don't have flashy screenshots of new UI features to show off today. Instead, this update focuses on significant under-the-hood optimizations and foundational improvements using Unl-server (Rust).
Here are the main changes:

  1. Full Migration of Syntax Parsing to the Server I have moved all syntax parsing logicโ€”previously handled by Neovim (Lua) using Tree-sitter or Regexโ€”entirely to the Unl-server side.
    • Removed Dependencies: This removes the Tree-sitter dependency from the plugin suite (except for syntax highlighting). If you primarily use LSP for syntax highlighting, you no longer need to install treesitter-unreal-cpp.
    • Improved Accuracy: Running Tree-sitter on the server side (Rust) allows for faster and more accurate syntax analysis than ever before.
  2. .uasset Parsing: Moving to Binary Analysis I have completely overhauled the method for parsing .uasset files, moving from simple string searches (using ripgrep) to direct binary parsing via Rust.
    • Supported Versions: UE 5.3 - 5.7
    • Higher Precision: This significantly improves the accuracy of retrieving Children and References. Specifically, UFUNCTION references, which were previously difficult to capture, can now be retrieved reliably. โš ๏ธ Note: Currently, this analysis data is not persisted to the database. Therefore, there may be a short wait time after startup while the parsing completes. Please keep this in mind.
  3. Enhanced Picker API Extensibility I have extended the Picker functionality to allow for more flexibility. You can now easily add custom pickers beyond the defaults provided. By setting an arbitrary function in the picker model, you can create and integrate your own custom pickers. For detailed specifications and usage, please refer to the README below: Unified Picker API - UNL.nvim README Summary: Performance Improvements By offloading these heavy tasks to the server (Rust), the CPU load on Neovim itself has decreased, resulting in a much smoother and more comfortable editing environment. Please update to the latest version and enjoy a lighter, faster Neovim x UE development experience! taku25/unrealdev.nvim If you like this project, giving the repository a โญ๏ธ (Star) would mean the world to me (and make me do a little happy dance)! Happy Neovim x UE life!!

Top comments (0)