
The core instructional goal of this video is to master the concept of Lists and their application under the View Model architecture in Rive. Addressing common UI design pain points such as dynamic component reuse, independent interaction handling, and automated layouts, the lesson demonstrates how to leverage data binding and instance management to build a dynamic app/game menu UI without writing any code. The final UI adapts to text length, features independent hover state machines, and is fully driven by data flows, significantly optimizing design-to-development collaboration for cross-platform runtimes.
- The Underlying Logic of Instantiation: In Rive, any artboard intended to be a dynamic child element inside a List must have at least one associated View Model. Even if the artboard contains static visual contents that don't change dynamically (like the Title in this video), it still needs an empty View Model assigned to trigger the system to allocate a valid instance ID for runtime rendering.
- Three-Layer Layout Nesting Best Practice (
Shift + L): The adaptive button setup uses a structured nesting hierarchy:Text Run -> Text Layout -> Row (Button) -> Row (Parent). The sophistication here lies in decoupling "Size Adaptive Sizing (Hug)", "Alignment Control (Center)", and "Outer Boundary Bounds (Fill)". Attempting to set Fill directly on the Button row forces the button background graphics to stretch over the entire layout area, breaking the intended visual proportions. - Data Flow Architecture: The core data-driven UI path is:
Modify View Model Instance Property -> Drives Bound Text Run / State Machine Conditions -> Reflected in Artboard List Component Rendering. By editing the String value of specific instances directly inside the Data Panel, you can batch-define menu items such as "Play", "Options", and "Exit" without duplicating physical artboards in the project, significantly saving memory footprint at runtime.