--- hide_title: true hide_table_of_contents: true title: Button node --- {/*##head##*/} # Button This node places a customizable button in the visual tree.
![](/nodes/ui-controls/button/button_visual.png)
The button has a Click signal that you can use to trigger actions.
![](/nodes/ui-controls/button//button_node.png)
{/*##head##*/} This control contains all logic such as accessibility etc. It can be styled in via it's properties. Use variations to create different types of buttons ## Inputs The Button can be enabled and disabled using the Enabled input: @include "../../shared-props/inputs/_enabled.md" The Button node has a set of label properties that can be set: | Data | Description | | ---------------------------------------------- | ------------------------------------------------------------------------------------------------ | | Enable Label | Sets whether the label is visible or not. | | Text Style | Set an existing text style to this node, or create a new text style from the current properties. | | Label | A text string that will be shown as the label on the button. | Similarly, it has a set of icon properties: | Data | Description | | --------------------------------------------- | --------------------------------------------------------------------------------------------------- | | Enable Icon | Sets whether the icon is visible or not. | | Type | Use this to set if you want to use a predefined `icon` or a custom `image` from the project folder. | | Source | Where to get the icon. | | Spacing | The spacing between the text and the icon. | | Placement | Sets whether the icon should be to the `left` or to the `right` of the _Label_ | | Size | The width of the icon in `px`. | | Color | Sets the color of the icon. Only visible if _Type_ is set to `icon`. | ### Visual This node supports the following [Visual Input Properties](/nodes/shared-props/inputs/visual-input-properties): - [Margin](/nodes/shared-props/inputs/visual-input-properties#margin) - [Padding](/nodes/shared-props/inputs/visual-input-properties#padding) - [Alignment](/nodes/shared-props/inputs/visual-input-properties#alignment) - [Dimensions](/nodes/shared-props/inputs/visual-input-properties#dimensions) - [Layout, Position](/nodes/shared-props/inputs/visual-input-properties#position) - [Text Styles](/nodes/shared-props/inputs/visual-input-properties#text-styles) - [Style](/nodes/shared-props/inputs/visual-input-properties#style) - [Border Style](/nodes/shared-props/inputs/visual-input-properties#border-style) - [Corner Radius](/nodes/shared-props/inputs/visual-input-properties#corner-radius) - [Box Shadow](/nodes/shared-props/inputs/visual-input-properties#box-shadow) - [Placement](/nodes/shared-props/inputs/visual-input-properties#placement) - [Dimension Constraints](/nodes/shared-props/inputs/visual-input-properties#dimension-constraints) - [Other](/nodes/shared-props/inputs/visual-input-properties#other) - [Advanced HTML](/nodes/shared-props/inputs/visual-input-properties#advanced-html) ## Outputs The main output for the button is the Click signal: | Signal | Description | | ----------------------------------------- | ------------------------------------------------------------------------------------------- | | Click | {/*##output:onClick##*/}A signal is sent on this output when the button is clicked.{/*##output##*/} | It also features a set of more in depth signals: @include "../../shared-props/outputs/_control-events.md" ### States Apart from triggering signals the Button node also notifies of its state through data outputs: @include "../../shared-props/outputs/_control-states.md" ### Visual This node supports the following [Visual Output Properties](/nodes/shared-props/outputs/visual-output-properties/): - [Bounding Box](/nodes/shared-props/outputs/visual-output-properties/#bounding-box) - [Mounted](/nodes/shared-props/outputs/visual-output-properties/#mounted) - [Other](/nodes/shared-props/outputs/visual-output-properties/#other)
@include "../../shared-props/inputs/_visual-input-properties.md" @include "../../shared-props/outputs/_visual-output-properties.md"