VeloScroll | Infinite Recycling ScrollView for uGUI
Recycling ScrollView for uGUI: lists, grids, masonry, sections and tables over 100,000 items drawn by a bounded handful of pooled cells. No-code setup, CSV/JSON import, C# source, no dependencies.
by Szekeres
Price History +
A uGUI ScrollRect with 100,000 rows in it is 100,000 GameObjects, and it will not survive contact with a real device. VeloScroll keeps a bounded live-cell budget around the viewport and recycles those cells as the user scrolls, so the hierarchy stays the same size whether the data has a hundred rows or a hundred thousand.
Try it before you buy it. The interactive WebGL demo is the actual asset — sixteen hands-on modules where you can scroll a 100,000-item list, switch layouts, snap and page, drag rows to reorder, import your own CSV, and jump straight to index 50,000. Watch the status bar while you do: it prints the live cell count and the total number of cells ever instantiated.
Demo Showcase | View Online Documentation
How it stays bounded
VeloScroll drives a standard uGUI `ScrollRect` by composition rather than subclassing it, so it fits the Canvas, viewport, mask and input workflow you already have. A `Recycler` tracks the visible index range and a `CellPool` hands out cells as that range moves. `LiveCellCount` and `TotalCellsCreated` are public, so the claim is measurable in your own project rather than taken on trust — scrolling the demo's 100,000-item list from the top into the hundreds moves the total instantiated count by one or two cells.
What it does
Layouts. Vertical and horizontal lists, per-row variable sizes, fixed-column grids, staggered masonry, sectioned lists with sticky headers that pin and hand off, virtualized tables with a frozen header, and multi-prefab lists that pick a cell type per index and pool each type separately.
Interaction. Snapping with Start / Center / End alignment, viewport paging, instant or animated `ScrollToIndex`, seamless looping, auto-scroll marquees, pull-to-refresh and load-more, drag-to-reorder, and a nested-scroll router that hands vertical drags to the parent list at the inner list's edges.
Data. An `IVeloScrollDataSource` interface, `SetData` / `SetDataSource` / `Reload` / `InsertItems` / `RemoveItems` / `RefreshVisible`, ScriptableObject data assets for no-code rows, and live count delegates.
Import. `VeloScrollImport.FromCsv`, `FromJson`, `Auto` and `FromFile` produce a `VeloScrollTabularData`. The CSV reader strips BOMs, sniffs comma / semicolon / tab / pipe delimiters, and honours RFC-4180 quoting including embedded newlines and doubled-quote escapes, padding ragged rows. The JSON reader finds top-level arrays, wrapper-property arrays or single objects, unions record keys into a schema, and flattens nested objects into dotted columns like `address.city`. Every column starts included; `SetIncluded(column, false)` hides internal fields without mutating the source. `ApplyAsTable` and `ApplyAsList` push the projection straight into a view.
Presentation. Scroll-driven cell effects — FocusScale, Parallax, Fade and Depth — with adjustable strength and curve, plus animation-preset and theme assets for shared styling.
Authoring. Add `VeloScrollView` to a UI object, or create a ready-made list or grid from `GameObject > UI > VeloScroll`. The custom inspector exposes layout, data, animation, snapping, a preview and live stats. There is a welcome window, a documentation menu entry, and Create menu entries for data source, animation preset and theme assets.
Evidence you can check yourself
94 automated tests ship inside the package and run in Unity's Test Runner on your machine. Imported into a clean Unity 6000.0.62f1 URP project, the suite reports 60/60 EditMode and 34/34 PlayMode passing, with zero compile errors.
No dependencies. uGUI only. No TextMeshPro requirement in the core, no Newtonsoft, no native plugins, no DLLs, no third-party code of any kind, and no network calls at runtime — the CSV and JSON readers are implemented in the package. Full C# source is included, so you can read, extend and debug all of it.
Known limitations
Stated here because finding them after purchase is worse.
• UI Toolkit is not supported. This is a uGUI asset. If your UI is built in UI Toolkit, this is not the package you want.
• No controller/gamepad focus navigation. Scrolling is pointer, touch and wheel driven.
• Verified here on Unity 6000.0.62f1. The package targets Unity 2021.3 LTS and newer and the code carries a 2021.3 font fallback path, but 6000.0.62f1 is the version this listing's test results were produced on.
• The demo is the showcase, not a UI kit. The cells are deliberately plain; VeloScroll recycles whatever prefab you give it rather than shipping a visual style you have to fight.
Requirements
Unity 2021.3 LTS or newer, including Unity 6. uGUI (`com.unity.ugui`). Built-in Render Pipeline, URP and HDRP all work, because the runtime is plain uGUI and adds no shaders or materials of its own.
Sixteen sample and demo scenes are included, along with a single searchable HTML manual.
Third-party content
None. This package contains no third-party fonts, images, audio, icons, shaders, DLLs or native binaries, and no third-party source code. The CSV and JSON readers, the pooling and the layout maths are all implemented from scratch in this package. There is nothing to license, attribute or redistribute, and no `Third-Party Notices.txt` file is required.
Support
szekipapa77@gmail.com