docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Rounded Rectangle node

    The Rounded Rectangle node generates a filled rounded rectangle shape with a border around it. The output is 1 for the rectangle and 0 for the border.

    To move the rectangle within the space, do the following:

    • To offset the shape, input a Tiling And Offset node and adjust the Offset property.
    • To tile the shape, input a Tiling and Offset node into a Fraction node, then input the Fraction node into the Rounded Rectangle node.

    You can only output this node into the Fragment Context.

    Ports

    Name Direction Type Binding Description
    UV Input Vector 2 UV Sets the UV coordinates to use to sample the rounded rectangle shape and the border.
    Width Input Float None Sets how much horizontal space the rectangle fills, where 1 is a full-width rectangle without a border on the left and right.
    Height Input Float None Sets how much vertical space the rectangle fills, where 1 is a full height rectangle without a border above and below.
    Radius Input Float None Sets the roundness of the corners of the rectangle. The range is 0 to 1, where 0 is right-angled corners.
    Out Output Float None The rounded rectangle and the border, where 1 is the rectangle and 0 is the border.

    Generated Code Example

    The following example code represents one possible outcome of this node.

    void Unity_RoundedRectangle_float(float2 UV, float Width, float Height, float Radius, out float Out)
    {
        Radius = max(min(min(abs(Radius * 2), abs(Width)), abs(Height)), 1e-5);
        float2 uv = abs(UV * 2 - 1) - float2(Width, Height) + Radius;
        float d = length(max(0, uv)) / Radius;
        Out = saturate((1 - d) / fwidth(d));
    }
    
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)