DEV Community

taku25
taku25

Posted on

UnrealDev.nvim Weekly Update: Performance Tuning & The Road to SQLite 🚀(2025/12/19)

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 p inside 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.nvim connect 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

UnrealDev

Top comments (0)