A simple framework based on C# abstract class and interface.
To reduce memory usage, only those in viewport are instantiated and show data dynamically. Support vBoxContainer, hBoxContainer, GridContainer.
The size of container items should be the same.
Inherit DynamicContainerItemBase and IDynamicContainerItem<Any Custom Data Type> for any Control Node, save as scene.
Inherit DynamicScrollContainerBase and IDynamicScrollContainer<Data Type of Item> for ScrollContainer.
Set child of ScrollContainer(vBoxContainer, hBoxContainer, GridContainer) to Container property, set the container item scene to Item Prefab property.
The Base calsses work for Nodes, the Interfaces work for data.
To know more about the framework on Bilibili