VeloScroll | Infinite Recycling ScrollView for uGUI
Szekeres
$17.49
$34.99
50%OFF
(no ratings)
Jump AssetStore
Build smooth uGUI lists, grids and tables for 100,000-item datasets by recycling a bounded set of cells. Includes variable sizes, sticky headers, snapping, paging and CSV/JSON.Build large, dynamic uGUI lists, grids, tables, feeds and menus without instantiating one GameObject for every data item.A conventional ScrollRect implementation that creates every row at once grows its hierarchy with the dataset. At 100,000 rows, that means 100,000 cell GameObjects before the user starts scrolling.VeloScroll virtualizes the view instead. It keeps a bounded set of cells around the viewport and recycles those cells as the visible range moves. The hierarchy therefore stays roughly the same size whether your data contains a few hundred entries or 100,000.Use it for inventories, shops, leaderboards, chat histories, quest logs, save browsers, galleries, settings menus, pickers, carousels, live feeds and virtualized data tables.VeloScroll recycles whatever cell prefab and visual style you supply. It provides the scrolling, pooling, layout, interaction, data and authoring layer rather than forcing a bundled UI theme onto your project.Demo Showcase | View Online DocumentationTry it before you buy it.The interactive WebGL showcase is built with the shipped runtime and contains sixteen hands-on modules. Scroll a 100,000-item list, switch between layouts, snap and page, drag rows to reorder, import your own CSV, and jump directly to index 50,000.Watch the status bar while you test it: it displays the current live-cell count and the total number of cells ever instantiated.Bounded cell recycling you can measureVeloScroll drives a standard uGUI ScrollRect by composition rather than subclassing it, so it fits the Canvas, viewport, mask and input workflow you already use.A Recycler calculates the visible index range. A CellPool supplies cells for that range and takes them back when they leave it. Multi-prefab layouts maintain a separate pool for each cell type.The recycling behavior is exposed through two public properties:• LiveCellCount — the number of cells currently active• TotalCellsCreated — the total number of cell instances created since initializationThe package does not ask you to accept the optimization claim on trust. In the 100,000-item showcase, you can scroll or jump deep into the dataset while watching both values.The package's documented verification also records:• 12 live cells for 100-, 10,000- and 50,000-item test cases• 9 live cells for a 10,000-item shipped-player case• No pool growth over a 1,000-tick scroll test• Zero managed allocation in the recycler's steady-state bookkeepingLists, grids, masonry, sections and tablesAvailable virtualized layouts include:• Vertical lists• Horizontal lists• Variable-height or variable-width single-track lists• Fixed-column or fixed-row grids• Staggered masonry grids with variable item heights• Sectioned lists with separate header and row binding• Sticky section headers that pin and hand off as the next section arrives• Virtualized tables with configured columns and an optional frozen header• Multi-prefab lists that select a cell type per index and pool every type separatelyThe same view can be reconfigured through the Inspector or at runtime.Snapping, paging and scrolling interactionInteraction features include:• Start-, Center- and End-aligned snapping• OnSnap events reporting the resolved item index• Viewport-based paging• Instant or animated ScrollToIndex• Seamless looping• Auto-scroll marquees• Pull-to-refresh• Load-more events• Drag-to-reorder• Nested-scroll routingVeloScrollNestedRouter passes vertical drag input to a parent list when an inner scroll view reaches its edge, allowing nested layouts without permanently trapping the gesture inside the child.Dynamic dataBind data through IVeloScrollDataSource or the supplied runtime methods:• SetData• SetDataSource• Reload• InsertItems• RemoveItems• RefreshVisibleLive-count delegates let the view follow a collection whose size changes at runtime.For an Inspector-driven workflow, VeloScrollDataSource ScriptableObject assets provide reusable no-code rows.VeloScroll does not own your model. It requests the current count and binds data only when a cell becomes visible.CSV and JSON importImport tabular data with:• VeloScrollImport.FromCsv• VeloScrollImport.FromJson• VeloScrollImport.Auto• VeloScrollImport.FromFileEach method produces VeloScrollTabularData, which can be projected into a list or table.The CSV reader supports:• UTF BOM removal• Automatic comma, semicolon, tab and pipe delimiter detection• RFC-4180-style quoted fields• Embedded delimiters• Embedded newlines• Doubled-quote escaping• Ragged-row paddingThe JSON reader supports:• Top-level arrays• Arrays stored inside wrapper properties• Single objects• Unioning record keys into one schema• Flattening nested objects into dotted columns such as address.cityEvery imported column begins enabled. Call SetIncluded(column, false) to hide internal or unwanted fields without modifying the original data.ApplyAsTable and ApplyAsList send the selected projection directly into a VeloScroll view.Scroll-driven cell effectsVeloScrollAnimator provides four effects driven by each visible cell's position inside the viewport:• FocusScale• Parallax• Fade• DepthEffect strength and falloff can be configured with a curve.Reusable VeloScrollAnimationPreset and VeloScrollTheme assets make it possible to share presentation settings across multiple views.Inspector and no-code authoringAdd VeloScrollView to an existing UI object, or create a ready-to-use view through:• GameObject > UI > VeloScroll > Recycling List• GameObject > UI > VeloScroll > Recycling GridThe custom Inspector exposes:• Layout• Data• Cell prefab• Animation• Theme• Snapping• Preview• Live statisticsThe package also includes:• A Welcome window• A documentation menu entry• Create-menu entries for data-source assets• Create-menu entries for animation presets• Create-menu entries for themes• VeloScrollProjectValidator configuration checksThe Inspector-first path is suitable for designers and rapid prototyping, while the public API supports fully code-driven data and behavior.Evidence you can run yourself94 automated tests ship inside the package and run locally through Unity's Test Runner.Imported into a clean Unity 6000.0.62f1 URP project, the recorded result is:• 60/60 EditMode tests passing• 34/34 PlayMode tests passing• Zero compile errorsThe tests cover recycling, bounded cell counts, layouts, scrolling behavior, runtime data changes, import and integration paths.Full C# source includedThe package contains 54 C# source files across 10 assembly definitions covering runtime, Editor, demo, samples and tests.There are:• No managed DLLs• No precompiled assemblies• No native plugins• No P/Invoke callsYou can inspect, extend and debug the full implementation.No third-party runtime dependenciesThe core runtime requires only Unity's standard uGUI package.There is no core TextMeshPro requirement, no Newtonsoft JSON dependency, no native plugin, and no hosted service.The CSV and JSON readers, recycling system, cell pools and layout calculations are implemented inside the package.VeloScroll makes no runtime network calls of its own.Known limitationsStated up front, because discovering them after purchase is worse.• UI Toolkit is not supported. VeloScroll is a uGUI asset. It is not the correct package for a project whose runtime interface is built entirely with UI Toolkit.• No controller or gamepad focus navigation is included. Scrolling is designed for pointer, touch and mouse-wheel input. Controller-selection movement between recycled cells is not implemented.• Variable-size cells apply to single-track lists. Fixed grids use a uniform size along the scrolling axis. Use the masonry layout when you need a staggered grid with variable item heights.• The listed verification was performed on Unity 6000.0.62f1. The package targets Unity 2021.3 LTS and newer and contains a Unity 2021.3 font-fallback path, but the published test results come from 6000.0.62f1.• The demo is a functional showcase, not a UI kit. Its cells are deliberately simple. VeloScroll recycles and binds the prefab you provide instead of shipping a visual style that must later be removed.RequirementsUnity 2021.3 LTS or newer, including Unity 6.The core runtime requires uGUI (com.unity.ugui).The scaffolded and included demo scenes use Unity's Input System for their pointer-event setup. The core recycler itself uses uGUI drag handlers and works with either supported input backend.Built-in Render Pipeline, URP and HDRP are supported because the runtime is plain uGUI and adds no custom shaders or materials.The package includes:• Sixteen sample and demo scenes• One sixteen-module interactive showcase• A single searchable HTML manualThe documentation covers installation, quick start, recycling behavior, lists, grids, variable sizes, animations, snapping, paging, masonry, sticky sections, looping, pull-to-refresh, multi-prefab cells, themes, tables, reordering, nested scrolling, CSV/JSON import, dynamic data, Editor tooling, compatibility, the scripting API and troubleshooting.Supportszekipapa77@gmail.comCore and virtualization• VeloScrollView in the VeloScroll namespace• Drives a standard uGUI ScrollRect by composition rather than subclassing• Recycler calculates and updates the visible item range• CellPool reuses the bounded set of instantiated cells after warmup• Cells leaving the visible range are released and reused for incoming indices• Binding work is performed for the visible window rather than every item in the dataset• LiveCellCount exposes the current active-cell count• TotalCellsCreated exposes the total number of cell instances created• Public counters can be inspected in your own project and in the showcase• Documented verification: 12 live cells for 100, 10,000 and 50,000 items in tests• Documented player case: 9 live cells for 10,000 items• No pool growth over a documented 1,000-tick scroll case• Recycler steady-state bookkeeping measured at zero managed allocation• 54 C# source files across 10 assembly definitions• Runtime, Editor, demo, samples, EditMode-test and PlayMode-test assemblies• Full C# source included• No managed DLLs or precompiled assembliesLayouts• Vertical single-track list• Horizontal single-track list• Uniform cell sizes• Per-cell main-axis size provider for variable-size lists• Fixed-cross-count grid• Columns for vertically scrolling grids• Rows for horizontally scrolling grids• Staggered masonry layout• Variable masonry heights packed into the currently shortest column• Flattened section model• Separate header and row binding• Optional sticky-header overlay• Sticky-header pinning and handoff• Virtualized table rows• Configurable table columns• Optional frozen table header• Per-index multi-prefab selector• Separate cell pool for every multi-prefab typeData sources and runtime updates• IVeloScrollDataSource• SetData• SetDataSource• Reload• InsertItems• RemoveItems• RefreshVisible• Live item-count delegates• VeloScrollDataSource ScriptableObject for Inspector-authored rows• Runtime data changes refresh the visible range without instantiating every itemCSV and JSON import• VeloScrollImport.FromCsv• VeloScrollImport.FromJson• VeloScrollImport.Auto• VeloScrollImport.FromFile• Import output type: VeloScrollTabularData• CSV BOM stripping• CSV delimiter detection for comma, semicolon, tab and pipe• RFC-4180-style quoted fields• Embedded CSV delimiters• Embedded CSV newlines• Doubled-quote escapes• Ragged-row padding• JSON top-level arrays• JSON wrapper-property arrays• JSON single-object input• Record-key union into a shared schema• Nested-object flattening to dotted column names• Column projection through SetIncluded• ApplyAsTable extension• ApplyAsList extensionInteraction• Start-aligned snapping• Center-aligned snapping• End-aligned snapping• OnSnap reports the resolved item index• Viewport-based paging• Instant ScrollToIndex• Animated ScrollToIndex• Seamless data looping• SetAutoScroll marquee behavior• OnPullToRefresh• OnLoadMore• Configurable refresh/load threshold• SetReorderable• OnReorder• Drag-to-reorder• VeloScrollNestedRouter• Nested-router handoff to a parent scroll view at the inner view's edgesAnimation and theming• VeloScrollAnimator• FocusScale• Parallax• Fade• Depth• Scroll-position-driven effect calculation• Adjustable effect strength• Adjustable effect curve• VeloScrollAnimationPreset assets• VeloScrollTheme assets• Shared theme and animation configuration• Inspector controls for animation kind, strength, curve and themeEditor tooling• Component menu: UI/VeloScroll/VeloScroll View• GameObject > UI > VeloScroll > Recycling List• GameObject > UI > VeloScroll > Recycling Grid• Custom Inspector• Layout controls• Data controls• Cell-prefab controls• Animation controls• Theme controls• Snapping controls• Preview• Live item and cell statistics• Welcome window• Documentation menu entry• Create-menu entry for data-source assets• Create-menu entry for animation-preset assets• Create-menu entry for theme assets• VeloScrollProjectValidator static checksDemo and samples• Interactive demo scene at Assets/VeloScroll/Demo/Scenes/VeloScroll_InteractiveDemo.unity• Interactive demo registered at Build Settings index 0• VeloScrollDemoController builds the showcase UI at runtime• No dependency on fragile serialized scene references for the generated showcase UI• Sixteen interactive modules:• Overview• List• Grid• Masonry• Sections• Snapping• Paging• Looping• Pull to Refresh• Animations• Multi-Prefab• Table• Import• Reorder• Nested• Scroll To• 100,000-item showcase path• Jump-to-index-50,000 demonstration• User CSV-import demonstration• Focused sample scenes under Assets/VeloScroll/Samples/Scenes/• Sixteen sample and demo scenes in totalEngineering and compatibility• 94 automated tests included• 60 EditMode tests• 34 PlayMode tests• Tests runnable through Unity Test Runner• Verified clean result: 60/60 EditMode and 34/34 PlayMode passing• Zero compile errors in the recorded Unity 6000.0.62f1 clean project• Unity 2021.3 LTS or newer• Verified test environment: Unity 6000.0.62f1 with URP• Core dependency: com.unity.ugui• Core has no TextMeshPro requirement• Demo and scaffolded scenes use Unity's Input System for pointer-event setup• Core recycler works through uGUI drag handlers under either input backend• Built-in Render Pipeline supported• URP supported• HDRP supported• Runtime adds no custom shaders or materials• No Newtonsoft JSON• No native plugins• No P/Invoke• No managed DLLs• No runtime network calls• No hosted service• No API key• No subscription• No third-party content• No licence or attribution obligations• Single searchable HTML documentation fileThis package was built with AI-assisted development tools. Primarily Claude Code for the C# implementation, with a smaller amount of assistance from GPT-based models via Codex. All generated code was reviewed, edited and integrated by hand rather than shipped as produced.No AI image generation was used for any screenshot store image. Every screenshot is a direct capture of this package's own demo scene running in UnityThe written documentation and store copy were drafted with AI assistance and edited by hand.

