docs.unity3d.com
    Show / Hide Table of Contents

    Switch

    Menu Path : Operator > Logic > Switch

    The Switch Operator compares its input to case values and outputs a value which depends on whether the input matches a case:

    • If the input matches a case value, this Operator outputs the value that corresponds to the matched case.
    • If the input does not match a case value, this Operator outputs a default value.

    This works similarly to a switch statement in C#.

    Operator settings

    Property Type Description
    Entry Count Unsigned int The number of cases to test. The maximum value is 32.
    Custom Case Value bool (Inspector) When enabled, you can specify custom case integers for each case. Otherwise, this Operator uses the default natural.

    Operator properties

    Input Type Description
    Test Value int Input integer value which is going to be tested with the case entries. If you enable Custom Case Value and this value matches more than one case, this Operator outputs the first entry that matches.
    Case 0 int The value to test for the first case. If you assign this port, it overrides the value this Operator checks Test Value against. The default value for this port is 0. This port only appears if you enable Custom Case Value.
    Value 0 Configurable The value to output if Test Value matches Case 0.
    Case 1 int The value to test for the first case. If you assign this port, it overrides the value this Operator checks Test Value against. The default value for this port is 1. This port only appears if you enable Custom Case Value.
    Value 1 Configurable The value to output if Test Value matches Case 1.
    Case N int To expose more cases, increase the Entry Count.
    Value N Configurable To expose more values, increase the Entry Count.
    Default Configurable The default value to output if no cases match.
    Output Type Description
    Output Configurable The value that corresponds to the case that matches Test Value, or Default if no cases match.

    Operator configuration

    To view the Operator's configuration, click the cog icon in the Operator's header.

    Property Description
    Type The value type this Operator uses. For the list of types this property supports, see Available types.

    Available types

    You can use the following types for your Input values and Output ports:

    • Bool
    • Int
    • Uint
    • Float
    • Vector2
    • Vector3
    • Vector4
    • Gradient
    • AnimationCurve
    • Matrix
    • OrientedBox
    • Color
    • Direction
    • Position
    • Vector
    • Transform
    • Circle
    • ArcCircle
    • Sphere
    • ArcSphere
    • AABox
    • Plane
    • Cylinder
    • Cone
    • ArcCone
    • Torus
    • ArcTorus
    • Line
    • Flipbook
    • Camera

    This list does not include any type that corresponds to a buffer or texture because it is not possible to assign these types as local variables in generated HLSL code.

    In This Article
    • Operator settings
    • Operator properties
    • Operator configuration
      • Available types
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023