Introduction
Hello everyone, I’m taku25, the developer of unrealdev.nvim.
After two intense weeks of development, I’m excited to announce the largest architectural overhaul in the history of this project.
I have introduced several breaking changes regarding cache formats in the past, but this update is a complete "heart transplant" for the plugin's core. While I apologize for the disruption, this new foundation is designed for long-term stability—I don't expect any more major architectural shifts for the foreseeable future.
- The Core: Moving to "unl-server" (Rust) The biggest change is the migration of all heavy-lifting tasks—including SQLite database management and C++ parsing via tree-sitter—to a dedicated external server written in Rust, called unl-server. Previously, UEP.nvim handled the DB directly. Now, unl.nvim acts as the primary gateway, retrieving data directly from the Rust server using MessagePack-RPC. By using a binary format instead of plain text, we’ve laid the groundwork for extremely low-latency communication. unl.nvim, which started as a simple base library, has now truly become the "heart" of the unrealdev.nvim ecosystem.
- Command Changes & Auto-Server Start
With the shift in responsibility, server management has moved from UEP to UNL.
- Command Migration:
- UEP refresh/start/stop → Deprecated
- UNL refresh/start/stop → New To improve the developer experience (DX), I’ve implemented an Auto-Server Start feature (auto_server_start, enabled by default). When you launch Neovim or cd into a directory containing a .uproject file, the Rust server will automatically spin up in the background. No more manual setup is required.
- Real-time Project Monitoring
The server does more than just fetch data; it now includes a file system watcher. It monitors your project files in real-time, ensuring that the symbol database is always up-to-date as you code. You no longer need to worry about stale indices while navigating your C++ classes.
What's Next?
While core commands have been debugged, I'm aware there are still minor bugs and areas where performance can be further optimized. Starting this week, I will focus on:
- System Stability and Performance Tuning.
- Developing a Custom Completion Engine that leverages our internal database instead of relying solely on external LSPs. Thank you for your continued support as we build the ultimate Unreal Engine development environment for Neovim!
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.