Cube UI – uGUI Essentials Pack 1


Third-party mesh effects need checking with the selected style. ... INCLUDED ... CubeVirtualList reuses cards around the visible area. ... Choose a vertical list, horizontal list or grid.


by GrandMax


Price History +

Five practical uGUI components for virtual lists, styled images, sprite masks, flexible layouts and automatic safe areas. Includes C# source, demo scenes and an illustrated guide.

REQUIREMENTS

- Unity 2022.3 or newer with Unity UI (uGUI).

- TextMeshPro for Editor tools and samples. Import TMP Essential Resources before opening demos. In Unity 6, TMP is included with uGUI.

- Unity Test Framework is optional and needed only to run the included tests.

- Designed for Canvas/uGUI, not UI Toolkit. No CubeDI or DOTween dependency.


COMPONENTS

- CubeVirtualList: fixed-size vertical/horizontal lists and grids; visible and overscan view reuse; optional pooling and persistent views; minimum scrollbar handle size; visible-record anchoring; conditional Follow End; stable-ID integration; insertion/removal notifications; binding validity and cleanup callbacks.

- CubeImage: Simple, Sliced, Tiled and Filled modes; vertex gradients; independent corner radii; ellipse; inner border; Cover cropping and alignment for Simple images; optional shape and filled-area raycast filters.

- CubeMask: sprite-based clipping; closed-region filling; reusable prepared shapes; shared generated resources; selective Graphic masking; on-demand Inspector preview.

- CubeLayoutGroup: horizontal, vertical and grid modes; padding, spacing, alignment and child sizing; integration with LayoutElement and nested Cube/Unity layout groups.

- CubeSafeArea: automatic Screen.safeArea fitting; selected edges; local padding; nested containers; screen-space CanvasScaler support; Editor previews.


TESTED CONFIGURATIONS

- 655 functional checks passed on each of Unity 2022.3.27f1, 6000.0.58f2 and 6000.2.14f1. Each run includes 653 package tests and two external Device Simulator checks.

- Built-in pipeline: functional and rendered-pixel checks on Windows / Direct3D 11.

- HDRP 17.2.0: 653 package checks on Unity 6000.2.14f1 / Windows / Direct3D 11, including rendering checks with controlled post-processing settings.

- URP 17.2.0: eight demo/input integration checks with Input System 1.16.0. This is not a full URP rendering test suite.

- Windows x64 IL2CPP: built and executed with Unity 6000.2.14f1.

- Android ARM64 IL2CPP: Samsung Galaxy A20, Android 11 / API 30, Vulkan and OpenGL ES 3; built with Unity 6000.2.14f1.

- iOS IL2CPP/Metal: Xcode project export passed. Native Xcode compilation, signing, device execution and iOS GC measurements are not verified.


ALLOCATION MEASUREMENTS

Controlled Windows and Android IL2CPP runs recorded zero GC.Alloc events in repeated warmed component operations. Separate frame measurements recorded 0 managed bytes over 120 idle frames and 120 scrolling frames after warm-up. Tests used a simple CubeImage item and an allocation-free binder. Initial setup, pool growth, mask preparation, text rendering and user callbacks can allocate. Detailed methods and limits are included in Documentation/Validation.md.


LIMITATIONS

- VirtualList cells have a fixed size. Disabling pooling retains one object per record. Content must not have another layout group or ContentSizeFitter.

- CubeMask closed-region filling requires closed sprite outlines and Simple Image mode. Rotated or tightly packed sprites are unsupported. Prepare shapes before building for devices without asynchronous GPU readback.

- CubeSafeArea supports screen-space canvases on the main display. World-space canvases, secondary displays, RenderTexture cameras and keyboard avoidance are outside its scope. Another component must not drive the same rectangle.

- CubeImage shapes/borders use additional Canvas UV channels and add shader work. Custom materials suppress these effects. Sprite alpha hit testing requires a readable texture. Third-party mesh effects need checking with the selected style.

- No universal speed advantage or zero-allocation guarantee is claimed for arbitrary UI content.


INCLUDED

Five components, Editor tools and icons, five sample scenes with demo artwork, C# source and shaders, automated tests, a README, an illustrated six-page PDF manual and validation notes.

Build inventories, leaderboards, character cards and mobile HUDs with five focused uGUI components. Cube UI works with familiar RectTransforms, Images, Buttons and ScrollRects, so you can add the parts you need to an existing Canvas.


LARGE LISTS WITHOUT AN OBJECT FOR EVERY RECORD

CubeVirtualList reuses cards around the visible area. Create a ready-to-configure list from GameObject > Cube UI, edit its item template, then connect your data. Choose a vertical list, horizontal list or grid. Keep the visible record when data changes, or follow the end while the user is already there. Lists use fixed-size cells.


MORE CONTROL OVER YOUR IMAGES

CubeImage extends Unity Image with independent corner radii, an ellipse, gradients and an inner border. Cover cropping fills a frame without stretching your sprite. Optional hit filters reject clicks outside the visible shape or filled region. Standard Image modes and Button integration remain available.


TURN A DECORATIVE FRAME INTO A MASK

CubeMask can fill the enclosed regions of a frame sprite to clip content inside it. Prepare a reusable shape, inspect the clipping preview and choose whether to mask descendants or one selected Graphic.


ARRANGE CONTENT AND RESPECT DEVICE CUTOUTS

CubeLayoutGroup combines horizontal, vertical and grid arrangements with spacing, padding and child-size controls. CubeSafeArea automatically fits a container to the device-reported safe area, with optional edge selection, extra padding and Editor previews.


START WITH WORKING EXAMPLES

The package includes five demo scenes, component icons, C# source, automated tests and a six-page illustrated manual. Create components through the Cube UI menu and use the guided Inspector controls. No additional Cube packages or tweening libraries are required.


PERFORMANCE WITH DOCUMENTED RESULTS

The controlled Galaxy A20 / Android 11 ARM64 IL2CPP tests recorded 0 managed bytes per frame over 120 idle frames and 120 scrolling frames after warm-up, with both Vulkan and OpenGL ES 3. The test list represented 100,000 records using 10 pooled views. This used a simple CubeImage template and an allocation-free binder. Setup, pool growth, text updates and custom callbacks can allocate.


Built for uGUI on Unity 2022.3 or newer. Editor tools and samples require TextMeshPro. See Technical details for exact tested versions, platform coverage and limitations. iPhone/iPad execution has not been verified.


Media uses actual Unity-rendered demo views and a labeled Android test capture, arranged externally with an AI-generated decorative background. The Android validation harness is not included as a demo scene.


Support: alex.max5568@gmail.com

Discord: grandmax1