Requires Unity 4.7.2 or higher.
Please check the coding part in the tutorial video and make sure you're comfortable with it, as it may appear difficult for some beginners that are not yet familiar with stuff like class inheritance
Online instructions
In-browser demo
Android demo
Quick start video
Join discussion on Unity forum
A complete framework for implementing highly customizable, ScrollRect-based ListViews and GridViews, or optimizing your already-existing ones.
Useful for chat systems, leaderboards, galleries, inventories, view pagers, spinners, hierarchies, date/time pickers etc.
Starting with v3.2, a GUI is provided to help you generate a ScrollView from scratch in editor, a scrollbar and a SRIA implementation based on 2 available templates: List or Grid
Features:
- platform-independent (uses UnityEngine.UI.ScrollRect)
- can handle around 10 million items on mobile
- variable data set
- items can have different heights/widths
- support for Content Size Fitter for items with unknown size at init time
- GridView
- vertical/horizontal orientation and optional spacing/padding
- rotating/scaling the ScrollView (making it compatible with CanvasScaler)
- no objects are destroyed (unless the number of items in the dataset changes), so GC calls are at minimum
- fully configurable snapping behavior
- auto-adapting to changes in viewport's size
- multiple item types + example scene
- change item size in real time (like for animations), even if it's not visible
- optionally looping items (useful for things like spinners)
- ScrollTo specific item with fine position adjusting & SmoothScrollTo with adjustable duration for the animation + a callback can be provided for receiving updates for each animation step and the possibility of canceling it
- fully extensible & documented source code provided
- can run visibility computations each frame via MonoBehaviour.Update OR only when OnScroll event triggers OR in both cases (default)
- optional customizable recycling policy (callbacks are provided)
- enhanced scrollbar functionalities via ScrollbarFixer, which also solves this Unity bug) and adds auto-hide/hide-when-not-needed animations
Utilities & other info:
- LazyList data structure optimized for large amounts of data
- optional gallery effect (middle items bigger than side items)
- simple ExpandOnClick utility script in the example scenes that can be used to expand/shrink items on click
- Pull To Refresh utility script + example scene
- DateTime picker pop-up utility which can be used from anywhere (one line of code)
- SimpleImageDownloader utlity with basic queue management to decrease overall bandwidth usage (no caching though)
- active development with much more features to come (such as a simpler Lite version for drag-and-droppers in v4.0)
- email support with free change requests and hot-fixes