Happy Friday, developers! 👋
This week has been a bit hectic with my day job, so the changelog is shorter than usual. However, I managed to squeeze in some crucial Quality of Life (QoL) improvements and bug fixes that should make your daily Unreal Engine development in Neovim smoother.
More importantly, I've finally decided on the direction for the next major optimization phase. Let's dive in!
⚡ Performance Improvements
UNX: Faster Symbols View
The Symbols View in UNX (the explorer UI) previously tried to fetch and display the entire parent class inheritance tree by default. While useful, this caused noticeable lag when opening large files in Unreal Engine projects.
- Change: To prioritize speed, the parent class tree is now OFF by default.
-
New Feature: You can toggle the parent class information on demand by pressing
pinside the Symbols View. - Note: This keybinding is configurable via
config.keymaps.action_toggle_parents.
Now, the view opens instantly, and you only pay the performance cost when you actually need that deep inheritance context.
✨ New Features
UNX: Quickly Favorite the Current File
I found myself frequently wanting to add the file I'm currently editing to my Favorites list without having to search for it in the tree or picker.
-
New Command: Added
:UNX favorite_current(and:UDEV favorite_current). - Behavior: This command toggles the favorite status of your active buffer instantly.
Bug Fixes
- UNX Favorites: Fixed a bug where the UI wouldn't refresh immediately after adding a file to favorites. It now updates in real-time.
- UCM Symbols: Fixed an issue where jumping to a selected symbol in the Unreal Class Manager (UCM) wasn't working correctly.
🗺️ Roadmap: The Road to SQLite
This is the part I'm most excited about.
Unreal Engine projects are massive. Parsing thousands of header files and managing class relationships using text-based caches or large JSON files has its limits regarding startup time and memory usage.
I have decided to migrate the heavy lifting of caching (files, class definitions, inheritance maps) to SQLite.
Progress so far:
- I've started implementing the database layer in UNL.nvim (the core library).
- The goal is to have
UEP.nvimconnect to a local SQLite database for blazing-fast lookups.
Once this is implemented, commands like UEP files, UEP enums, and generating inheritance trees should become significantly faster and more robust.
That's it for this week! Although development might slow down slightly due to work, the migration to SQLite is my top priority for the next major update.
As always, feedback and contributions are welcome!
Happy coding! 🎮 vim
Top comments (0)