Open-Source ZRList Brings Virtualized Inventory and Chat Lists to Unity
An independent developer has published ZRList, an Apache-2.0 uGUI component for large lists, trees and nested scrolling. The Unity forum announcement describes 14 sample scenes and support for Unity 2021.3 LTS onward.
A game menu can become surprisingly expensive when it contains hundreds of inventory items, chat messages, or quest entries. Creating a UI object for every possible row may waste resources when only a small fraction is visible. A developer announced ZRList on the Unity Discussions forum on October 30, 2026 as an open-source alternative for those situations.
ZRList is described as a virtualized list package built around Unity's existing uGUI system. Instead of maintaining every visual element at once, it recycles views based on the visible range. Items moving out of view return to a pool, and newly visible entries reuse matching instances. The author says this reduces unnecessary object creation and update work.
The tool also supports entries of different sizes, multiple prefabs, expandable tree structures, and lists nested in another scrolling view. For size tracking, the author describes using a Fenwick tree, which supports efficient updates and position lookup. That algorithm can matter when a chat message expands after text wrapping or an inventory category changes height.
A noteworthy part of the announcement is the sample library. The developer lists 14 demonstrations, including inventory dragging, chat layouts, tree navigation, curved card arrangements, and sequential reward reveals. Examples can help teams learn a component's expected usage, but they do not independently establish how the package performs in every game.
The project is listed as Apache-2.0 licensed, compatible with Unity 2021.3 LTS and later, and dependent only on uGUI at runtime. Those claims come from the maintainer's documentation. A team adopting the package should verify the repository's current license, review dependencies, and pin a tested revision rather than relying on a moving main branch.
One sensible experiment would build a mock inventory with several thousand entries but display only a small window. Compare memory use, UI object count, and frame time against a straightforward non-virtualized ScrollRect implementation. Include items with varied height and test what happens when content changes during scrolling.
Correct data binding is critical when cells are recycled. Every reused row must replace stale labels, icons, and selection states. An optimization that shows the wrong item is not an improvement. The developer's own description cautions that actual speed still depends on prefab complexity and Canvas updates.
ZRList is a community package, not a built-in Unity feature. For developers maintaining large in-game interfaces, it offers a new option worth evaluating with real project data and a reproducible benchmark.
Rate this story
What did you think of this article?
Log in to rate this story, comment and like replies.
Log inNo comments yet. Be the first to share your thoughts.
Comments