In the default Unity3D UI, there is a a scrollview that you can make use of but it lacks a 'recycle' functionality. If you want to display 100 items, you have to instantiate 100 items. Which is 'maybe oke' for 100 items but its not very scalable since it will get slower with every new item you add to the list. So I created my own RecycleScrollView.
I only show visible items(+2 extra, top and bot) and use a Mask to clear the edges. Very simple stuff.
In the next example we have list of 5000+ items: