⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics
DEPRECATION NOTICE: This entire page documents the legacy Inputs system.
For new projects: Use Data Binding instead. For
existing projects: Plan to migrate from Inputs to Data Binding as soon as
possible. This content is provided for legacy support only.
Inputs have movedInputs now live in the Animations panel. Expand the relevant state machine to view its Listeners and Inputs sections.
Inputs are a legacy tool to control transitions in our state machine. While Inputs can still be used to control transitions, Data Binding is considered best practice since View Models are both more powerful and easier to control at runtime.The best use for Inputs is quick, prototype interactions that you don’t plan to migrate to runtime.
To create a new Input, use the plus button in the input panel. After hitting the plus button, you’ll be prompted to select the type of input you want to create. There are three types of inputs; booleans, triggers, and numbers.
We can use three types of inputs depending on the situation and type of interactive content: booleans, triggers, and numbers. We’ll discuss each of these inputs below.
Expose the Inputs and/or Events of a Component to control them from a parent/host Artboard. This allows you to control one Component with another via a State Machine.
Exposing an Input allows the parent artboard to access and manipulate it. To do this, select the desired input, then check the expose to main artboard option in the inspector.After creating a Component, you’ll see any exposed inputs in the Inspector via the options panel and in the Inputs panel.
When you create a listener, you’ll find all exposed Inputs as a set input property of a Listener. This option lets you, for example, change the boolean input of multiple artboards simultaneously.
Additionally, we can use Listeners to listen for Events firing from our Component, and change inputs accordingly.To see an Event associated with an Artboard, you’ll need to set the Artboard as a target of the Listener. The Event will now be listed as a listener action.
You can key exposed inputs on the parent artboard via the options panel in the inspector.This is a handy trick when you, for example, want to set the text value within an Instance.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rive","colors":{"primary":"#ffa41c","light":"#ffa41c","dark":"#ffa41c"},"logo":{"light":"https://mintcdn.com/rive/tBktbqSaEr9ZwywZ/logo/rive_top_logo_black.svg?fit=max\u0026auto=format\u0026n=tBktbqSaEr9ZwywZ\u0026q=85\u0026s=e09b8659935986a837947ae7c3b104e0","dark":"https://mintcdn.com/rive/tBktbqSaEr9ZwywZ/logo/rive_top_logo_white.svg?fit=max\u0026auto=format\u0026n=tBktbqSaEr9ZwywZ\u0026q=85\u0026s=d2ccc2c4dec459d584f578475de89248","href":"https://rive.app?utm_source=docs\u0026utm_medium=header_nav"},"favicon":"https://mintcdn.com/rive/IGEy4oJSivuQmjey/favicon_black.png?fit=max\u0026auto=format\u0026n=IGEy4oJSivuQmjey\u0026q=85\u0026s=986c81e5b82e1138420d773296030a3a","appearance":{"default":"dark"},"background":{"decoration":"grid"},"navbar":{"links":[{"href":"/tutorials/learn-rive","label":"Learn"},{"href":"/community/support","label":"Support"}],"primary":{"type":"button","label":"Get Rive","href":"https://rive.app/downloads?utm_source=docs\u0026utm_medium=header_nav"}},"footer":{"socials":{"youtube":"https://www.youtube.com/channel/UCPal2R1FxwRTPylhP_7ofEg","x":"https://twitter.com/rive_app","instagram":"https://www.instagram.com/rive.app","github":"https://github.com/rive-app","discord":"https://discord.gg/rive-app"},"links":[{"header":"Resources","items":[{"label":"Community","href":"https://community.rive.app?utm_source=docs\u0026utm_medium=footer_nav"},{"label":"Blog","href":"https://rive.app/blog?utm_source=docs\u0026utm_medium=footer_nav"},{"label":"Case Studies","href":"https://rive.app/blog/case-studies?utm_source=docs\u0026utm_medium=footer_nav"},{"label":"Marketplace","href":"https://rive.app/marketplace?utm_source=docs\u0026utm_medium=footer_nav"},{"label":"Feature Requests","href":"https://community.rive.app/c/feature-requests"}]},{"header":"Company","items":[{"label":"Careers","href":"https://rive.app/careers?utm_source=docs\u0026utm_medium=footer_nav"},{"label":"Terms of Service","href":"/docs/legal/terms-of-service"},{"label":"Acceptable Use Policy","href":"/docs/legal/acceptable-use-policy"},{"label":"Privacy Policy","href":"/docs/legal/privacy-policy"}]}]},"fonts":{"heading":{"family":"Tomorrow Placeholder","weight":500,"source":"https://framerusercontent.com/assets/nCpxWS6DaPlPe0lHzStXAPCo3lw.woff2","format":"woff2"}},"integrations":{"amplitude":{"apiKey":"38803036884a752b104ee4bf501e0945"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"variables":{"runtimeCurrentNameApple":"New Runtime","runtimeLegacyNameApple":"Legacy Runtime","monthlyCreditsVoyager":"$20","monthlyCreditsEnterprise":"$40","pricingCadetMonthly":"$17","pricingCadetYearly":"$108","pricingVoyagerMonthly":"$49","pricingVoyagerYearly":"$384","pricingEnterpriseYearly":"$1,440","cliAllowanceFree":"50","cliAllowanceCadet":"1,000","versionWeb":"2.40.1","versionReact":"4.33.0","versionApple":"6.24.0","versionAndroid":"11.9.2","versionReactNative":"0.5.5","versionFlutter":"0.14.11","versionDevFlutter":"0.15.0-dev.4","versionUnity":"0.4.5","versionUnreal":"0.4.25","supportForm":"https://forms.rive.app/support?utm_medium=support_page","supportFormEducational":"https://forms.rive.app/education?utm_medium=support_page"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rive","hasAudioNarration":false,"actualSubdomain":"rive","customDomains":["rive.app"],"gitSource":{"type":"github","owner":"rive-app","repo":"rive-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec0c9e9d5ab7d1818bda6d","collectionId":"fb908ae0-3dff-4a22-b3dc-5d0120cce29f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec0c9e9d5ab7d1818bda6d"},"feedback":{"edits":true,"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec0d2ac7adced618f208bf","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Runtimes","count":279},{"language":"default","tag":"Scripting","count":188},{"language":"default","tag":"Scripting API","count":167},{"language":"default","tag":"Editor","count":100},{"language":"default","tag":"Fundamentals","count":64},{"language":"default","tag":"GPU","count":45},{"language":"default","tag":"Design","count":32},{"language":"default","tag":"Artboards","count":25},{"language":"default","tag":"Interfaces","count":24},{"language":"default","tag":"Advanced Topics","count":22}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"p{font-size:14px}ul li{font-size:14px}ol li{font-size:14px}.signature .code-block{border:none}.signature .code-block [data-floating-buttons=\"true\"]{display:none}.signature .code-block [data-component-part=\"code-block-root\"]{background:none;padding:0}.dark .card{background-color:var(--background-dark)!important;border-color:rgb(255 255 255 / 0.1)!important}.dark .card:hover{border-color:var(--primary-light)!important}"}],"page":{"pagePath":"editor/state-machine/inputs","slug":"/editor/state-machine/inputs","pageMetadata":{"title":"Inputs","description":"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics","noindex":true,"href":"/editor/state-machine/inputs"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const YouTube=({id,timestamp})=>{const videoSrc=timestamp?`https://www.youtube.com/embed/${id}?start=${timestamp}`:`https://www.youtube.com/embed/${id}`;return _jsx(`iframe`,{width:`100%`,height:`400`,src:videoSrc,title:`YouTube video player`,frameBorder:`0`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,referrerPolicy:`strict-origin-when-cross-origin`,allowFullScreen:true})};function _createMdxContent(props){const _components={a:`a`,img:`img`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,OptimizedImage,Warning,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`DEPRECATION NOTICE:`}),` This entire page documents the legacy Inputs system.\n`,_jsx(_components.strong,{children:`For new projects:`}),` Use `,_jsx(_components.a,{href:`/editor/data-binding/migration-guide`,children:`Data Binding`}),` instead. `,_jsx(_components.strong,{children:`For\nexisting projects:`}),` Plan to migrate from Inputs to Data Binding as soon as\npossible. `,_jsx(_components.strong,{children:`This content is provided for legacy support only.`})]})}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Inputs have moved`})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Inputs`}),` now live in the `,_jsx(_components.strong,{children:`Animations`}),` panel. Expand the relevant state machine to view its `,_jsx(_components.strong,{children:`Listeners`}),` and `,_jsx(_components.strong,{children:`Inputs`}),` sections.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=4f3b543325a7f98f2b177ebcf890fdb9`,alt:`Inputs have moved`,\"data-og-width\":`3456`,width:`3456`,\"data-og-height\":`908`,height:`908`,\"data-path\":`images/editor/legacy-features/inputs-moved.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=280\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=416e521757e602bdc1f16f7b1ec229ed 280w, https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=560\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=dc7eb6394836462dbe8cfc66fa0d3ad3 560w, https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=840\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=809d3836dae33aafd2e66f9d61c3d3cf 840w, https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=3428574209ef1364fe5fc7ffe918d9c4 1100w, https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=7c68da252d8f7e4f26dc75df82e56112 1650w, https://mintcdn.com/rive/pqhXZ7p8Qez1_OwH/images/editor/legacy-features/inputs-moved.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pqhXZ7p8Qez1_OwH\u0026q=85\u0026s=04dbed1a284b3133689a40cfe2e2c76b 2500w`})]}),`\n`,_jsx(_components.p,{children:`Inputs are a legacy tool to control transitions in our state machine. While Inputs can still be used to control transitions, Data Binding is considered best practice since View Models are both more powerful and easier to control at runtime.`}),`\n`,_jsx(_components.p,{children:`The best use for Inputs is quick, prototype interactions that you don’t plan to migrate to runtime.`}),`\n`,_jsx(_MdxComponentBoundary,{name:`YouTube`,children:_jsx(YouTube,{id:`rJVfBs6VA0I`})}),`\n`,_jsx(Heading,{level:`3`,id:`creating-a-new-input`,children:`Creating a new input`}),`\n`,_jsx(_components.p,{children:`To create a new Input, use the plus button in the input panel. After hitting the plus button, you’ll be prompted to select the type of input you want to create. There are three types of inputs; booleans, triggers, and numbers.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/11d24273-9c87-4adb-963a-fd45f8e667b6/`,alt:`Image`})}),`\n`,_jsx(Heading,{level:`2`,id:`input-types`,children:`Input types`}),`\n`,_jsx(_components.p,{children:`We can use three types of inputs depending on the situation and type of interactive content: booleans, triggers, and numbers. We’ll discuss each of these inputs below.`}),`\n`,_jsx(Heading,{level:`3`,id:`boolean`,children:`Boolean`}),`\n`,_jsx(_components.p,{children:`A boolean can hold either a true or false value.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/4886ec99-ad57-4ae7-9709-5f028c6cbaab/`,alt:`Boolean for a switch`})}),`\n`,_jsx(Heading,{level:`3`,id:`trigger`,children:`Trigger`}),`\n`,_jsx(_components.p,{children:`Triggers are similar to booleans, but can only become true for a short time.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/29401ecd-875b-4925-bb1e-b48518786c42/`,alt:`Trigger for attack animation`})}),`\n`,_jsx(Heading,{level:`3`,id:`number`,children:`Number`}),`\n`,_jsx(_components.p,{children:`A number input give you a number box that can be any integer.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/dbd19760-02e4-4d37-a3a8-627ce8e0b65c/`,alt:`Number input for rating animation`})}),`\n`,_jsx(Heading,{level:`2`,id:`exposing-inputs-and-events`,children:`Exposing inputs and events`}),`\n`,_jsx(_components.p,{children:`Expose the Inputs and/or Events of a Component to control them from a parent/host Artboard. This allows you to control one Component with another via a State Machine.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-expose-an-input`,children:`How to expose an input`}),`\n`,_jsx(_components.p,{children:`Exposing an Input allows the parent artboard to access and manipulate it. To do this, select the desired input, then check the expose to main artboard option in the inspector.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/251b0247-ae05-4f58-8858-8e7a21abd816/`,alt:`Image`})}),`\n`,_jsx(_components.p,{children:`After creating a Component, you’ll see any exposed inputs in the Inspector via the options panel and in the Inputs panel.`}),`\n`,_jsx(Heading,{level:`3`,id:`using-inputs-on-a-parent-artboard`,children:`Using inputs on a parent Artboard`}),`\n`,_jsx(_components.p,{children:`Exposed inputs can be found in the Inputs panel or in the inspector. You can use them through listeners, an event, or by keying them on a timeline.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/ee1dd959-9fba-45c9-a74b-1173cd71e894/`,alt:`Image`})}),`\n`,_jsx(Heading,{level:`4`,id:`via-a-listener`,children:`Via a listener`}),`\n`,_jsx(_components.p,{children:`When you create a listener, you’ll find all exposed Inputs as a set input property of a Listener. This option lets you, for example, change the boolean input of multiple artboards simultaneously.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/2349fdd6-5a5a-434e-a1dc-3974e6f1e01c/`,alt:`Image`})}),`\n`,_jsx(Heading,{level:`4`,id:`using-events`,children:`Using events`}),`\n`,_jsx(_components.p,{children:`Additionally, we can use Listeners to listen for Events firing from our Component, and change inputs accordingly.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.img,{src:`https://ucarecdn.com/2b1ddae6-31c9-41be-969c-86a59b2206cd/`,alt:`Image`})}),`\n`,_jsx(_components.p,{children:`To see an Event associated with an Artboard, you’ll need to set the Artboard as a target of the Listener. The Event will now be listed as a listener action.`}),`\n`,_jsx(Heading,{level:`4`,id:`keying-on-the-state-machine`,children:`Keying on the State Machine`}),`\n`,_jsx(_components.p,{children:`You can key exposed inputs on the parent artboard via the options panel in the inspector.`}),`\n`,_jsx(_components.p,{children:`This is a handy trick when you, for example, want to set the text value within an Instance.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{YouTube,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Inputs","description":"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics","noindex":true,"href":"/editor/state-machine/inputs"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[143,580,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Creating a new input","slug":"creating-a-new-input","depth":3,"children":[]},{"title":"Input types","slug":"input-types","depth":2,"children":[{"title":"Boolean","slug":"boolean","depth":3,"children":[]},{"title":"Trigger","slug":"trigger","depth":3,"children":[]},{"title":"Number","slug":"number","depth":3,"children":[]}]},{"title":"Exposing inputs and events","slug":"exposing-inputs-and-events","depth":2,"children":[{"title":"How to expose an input","slug":"how-to-expose-an-input","depth":3,"children":[]},{"title":"Using inputs on a parent Artboard","slug":"using-inputs-on-a-parent-artboard","depth":3,"children":[]},{"title":"Via a listener","slug":"via-a-listener","depth":4,"children":[]},{"title":"Using events","slug":"using-events","depth":4,"children":[]},{"title":"Keying on the State Machine","slug":"keying-on-the-state-machine","depth":4,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/rive/6157a238f0df2356/rive-init.js"],"subdomain":"rive","siteName":"Rive","title":"Inputs - Rive","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-11T15:47:05.066Z","originalFileLocation":"editor/state-machine/inputs.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rive\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Inputs - Rive\">\u003cmeta data-mint-head property=\"og:description\" content=\"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rive\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://rive.app/docs/editor/state-machine/inputs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rive.mintlify.app/_mintlify/api/og/v2?division=Legacy+Features\u0026amp;title=Inputs\u0026amp;description=%E2%9A%A0%EF%B8%8F+DEPRECATED%3A+Use+Data+Binding+instead+of+Inputs+for+controlling+Rive+graphics\u0026amp;theme=9d194ea41709afb0505e42e9\u0026amp;signature=5b745812dfa7b0d69f85f948fabd14385a62ad36cdc74b23879098788c564cdd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Inputs - Rive\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive graphics\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rive.mintlify.app/_mintlify/api/og/v2?division=Legacy+Features\u0026amp;title=Inputs\u0026amp;description=%E2%9A%A0%EF%B8%8F+DEPRECATED%3A+Use+Data+Binding+instead+of+Inputs+for+controlling+Rive+graphics\u0026amp;theme=9d194ea41709afb0505e42e9\u0026amp;signature=5b745812dfa7b0d69f85f948fabd14385a62ad36cdc74b23879098788c564cdd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/rive/QOppeg00QlFTw5Bu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rive\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ffa41c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://rive.app/docs/editor/state-machine/inputs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/editor/state-machine/inputs.md\">","siteName":"Rive","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/getting-started/introduction"}]},{"tab":"Editor","groups":[{"group":" ","pages":[{"title":"Using the Rive Editor","sidebarTitle":"Get Rive","href":"/editor/get-rive"},{"group":"Editor Interface","pages":[{"title":"Interface Overview","sidebarTitle":"Overview","href":"/editor/interface-overview/overview"},{"title":"File Browser","href":"/editor/interface-overview/file-browser"},{"title":"Viewport","href":"/editor/interface-overview/stage"},{"title":"Toolbar","href":"/editor/interface-overview/toolbar"},{"title":"Sidebar","href":"/editor/interface-overview/sidebar"},{"title":"Inspector","href":"/editor/interface-overview/inspector"},{"title":"Debug Panel","href":"/editor/interface-overview/debug-panel"}]},{"group":"Workflows","pages":[{"title":"Selection and Navigation","href":"/editor/interface-overview/selection-and-navigation"},{"title":"Keyboard Shortcuts","href":"/editor/keyboard-shortcuts"},{"title":"Dependencies Graph","href":"/editor/workflows/dependency-graph"},{"title":"Tagging","href":"/editor/tagging"},{"title":"Revision History","href":"/editor/fundamentals/revision-history"},{"title":"Best Practices","href":"/getting-started/best-practices"}]}]},{"group":"Fundamentals","pages":[{"group":"Design","pages":[{"title":"Artboards","href":"/editor/fundamentals/artboards"},{"title":"Components","href":"/editor/fundamentals/components"},{"group":"Drawing","pages":[{"title":"Shapes and Paths Overview","href":"/editor/fundamentals/shapes-and-paths-overview"},{"title":"Shape Tools","href":"/editor/fundamentals/procedural-shapes"},{"title":"Shape Builder","href":"/editor/design/shape-builder"},{"title":"Pen Tool Overview","href":"/editor/fundamentals/pen-tool-overview"},{"title":"Freehand Drawing with Pencil, Brush, and Eraser","sidebarTitle":"Freehand Drawing","href":"/editor/design/freehand-drawing"},{"title":"Fill and Stroke","href":"/editor/fundamentals/fill-and-stroke"},{"title":"Edit Vertices","href":"/editor/fundamentals/edit-vertices"},{"title":"Bucket Tool","sidebarTitle":"Bucket","href":"/editor/design/bucket-tool"},{"title":"Shape Bend Tool","href":"/editor/design/shape-bend-tool"},{"title":"Trim Path","href":"/editor/manipulating-shapes/trim-path"},{"title":"Clipping","href":"/editor/manipulating-shapes/clipping"}]},{"title":"Align and Distribute","href":"/editor/fundamentals/align-and-distribute"},{"group":"Text","pages":[{"title":"Text","sidebarTitle":"Overview","href":"/editor/text/text-overview"},{"title":"Text Runs","href":"/editor/text/text-runs"},{"title":"Text Styles","href":"/editor/text/text-styles"},{"title":"Text Modifiers","href":"/editor/text/text-modifiers"},{"title":"Text Input","href":"/editor/text/text-input"}]},{"group":"Hierarchical Relationships","pages":[{"title":"Hierarchy","href":"/editor/interface-overview/hierarchy"},{"title":"Groups","href":"/editor/fundamentals/groups"},{"title":"Solos","href":"/editor/manipulating-shapes/solos"},{"title":"Transform Spaces","href":"/editor/fundamentals/transform-spaces"},{"title":"Freeze and Origin","href":"/editor/fundamentals/freeze-and-origin"},{"title":"Animating Draw Order","sidebarTitle":"Custom Draw Order","href":"/editor/animate-mode/animating-draw-order"}]},{"group":"Responsive Design","pages":[{"title":"Overview","sidebarTitle":"Layouts Overview","href":"/editor/layouts/layouts-overview"},{"title":"Tools","sidebarTitle":"Tools","href":"/editor/layouts/layout-tools"},{"title":"Parameters","href":"/editor/layouts/layout-parameters"},{"title":"Component Sizing","href":"/editor/layouts/component-sizing"},{"title":"Layout Animation","href":"/editor/layouts/layout-animation"},{"title":"N-Slicing","href":"/editor/layouts/n-slicing"}]},{"title":"Rulers \u0026 Guides","href":"/editor/design/rulers-and-guides"}]},{"group":"Assets","pages":[{"title":"Assets","sidebarTitle":"Overview","href":"/editor/fundamentals/assets-overview"},{"title":"SVG \u0026 Vector Assets","href":"/editor/assets/svg"},{"title":"Photoshop Files","href":"/editor/assets/psd"},{"title":"Font Assets","href":"/editor/text/fonts"},{"title":"Audio Assets","href":"/editor/assets/audio"},{"title":"Libraries","sidebarTitle":"Libraries","href":"/editor/libraries"}]},{"group":"Animation","pages":[{"title":"Animate Mode Overview","sidebarTitle":"Overview","href":"/editor/animate-mode/animate-mode-overview"},{"title":"Timeline","href":"/editor/animate-mode/timeline"},{"title":"Keys","href":"/editor/animate-mode/keys"},{"title":"Interpolation (Easing)","href":"/editor/animate-mode/interpolation-easing"}]},{"group":"Interaction","pages":[{"group":"State Machines","pages":[{"title":"State Machine Overview","sidebarTitle":"Overview","href":"/editor/state-machine/state-machine"},{"title":"States","href":"/editor/state-machine/states"},{"title":"Transitions","href":"/editor/state-machine/transitions"},{"title":"Layers","href":"/editor/state-machine/layers"}]},{"title":"Listeners","href":"/editor/state-machine/listeners"},{"group":"Events","pages":[{"title":"Events Overview","sidebarTitle":"Overview","href":"/editor/events/overview"},{"title":"Open URL Events","href":"/editor/events/open-url-events"},{"title":"Audio Events","href":"/editor/events/audio-events"}]}]},{"group":"Data","pages":[{"title":"Data Binding Overview","href":"/editor/data-binding/overview"},{"title":"View Models \u0026 Instances","href":"/editor/data-binding/view-models"},{"title":"View Model Properties","href":"/editor/data-binding/property-types"},{"title":"Binding Data","href":"/editor/data-binding/binding-data"},{"title":"Controlling Data","href":"/editor/data-binding/controlling-data"},{"group":"Advanced Data Binding","pages":[{"title":"Enums","href":"/editor/data-binding/enums"},{"title":"Lists","href":"/editor/data-binding/lists"},{"title":"Converters","href":"/editor/data-binding/converters"},{"title":"Stateful Components","href":"/editor/data-binding/stateful-components"},{"title":"Property Groups","href":"/editor/data-binding/property-groups"},{"title":"Migration Guide","href":"/editor/data-binding/migration-guide"}]}]},{"group":"Publishing","pages":[{"title":"Exporting for Runtime","href":"/editor/exporting/exporting-for-runtime"},{"title":"Sharing \u0026 Embedding","href":"/editor/embed-urls/overview"},{"title":"Exporting Videos \u0026 Images","href":"/editor/exporting/exporting-for-video-and-static-design"},{"title":"Exporting for Backup","href":"/editor/exporting/exporting-for-backup"}]}]},{"group":"Advanced Topics","pages":[{"group":"AI","pages":[{"title":"AI Agent","href":"/editor/ai-agent/ai-agent"},{"title":"Rive MCP Integration","sidebarTitle":"MCP Integration","href":"/editor/ai/mcp"}]},{"group":"Rigging \u0026 Control","pages":[{"title":"Manipulating Shapes Overview","sidebarTitle":"Overview","href":"/editor/manipulating-shapes/manipulating-shapes"},{"title":"Meshes","href":"/editor/manipulating-shapes/meshes"},{"title":"Bones","href":"/editor/manipulating-shapes/bones"},{"title":"Joysticks","href":"/editor/manipulating-shapes/joysticks"},{"group":"Constraints","pages":[{"title":"Constraints Overview","sidebarTitle":"Overview","href":"/editor/constraints/constraints-overview"},{"title":"IK Constraint","href":"/editor/constraints/ik-constraint"},{"title":"Distance Constraint","href":"/editor/constraints/distance-constraint"},{"title":"Scale Constraint","href":"/editor/constraints/scale-constraint"},{"title":"Rotation Constraint","href":"/editor/constraints/rotation-constraint"},{"title":"Transform Constraint","href":"/editor/constraints/transform-constraint"},{"title":"Translation Constraint","href":"/editor/constraints/translation-constraint"},{"title":"Follow Path Constraint","href":"/editor/constraints/follow-path-constraint"},{"title":"Scroll Constraints","href":"/editor/constraints/scroll-constraint"}]}]},{"group":"Accessibility","pages":[{"title":"Semantics","href":"/editor/accessibility/semantics"},{"title":"Focus","href":"/editor/accessibility/focus"},{"title":"Reduced Motion","href":"/editor/accessibility/reduced-motion"}]},{"group":"Admin \u0026 Workspaces","pages":[{"group":"Workspaces","pages":[{"title":"Workspaces","sidebarTitle":"Overview","href":"/account-admin/workspaces/workspaces-overview"},{"title":"Managing Workspaces","href":"/account-admin/workspaces/managing-workspaces"},{"title":"Managing Workspace Members","sidebarTitle":"Workspace Members","href":"/account-admin/workspaces/managing-workspace-members"}]},{"title":"Bring Your Own S3 Bucket","description":"Configure your own AWS S3 bucket to work with Rive","href":"/account-admin/bring-your-own-bucket"}]},{"group":"Legacy Features","pages":[{"title":"Inputs","href":"/editor/state-machine/inputs"},{"title":"Events at Runtime","description":"Using events to communicate with runtime code (deprecated)","href":"/editor/events/general-events"}]}]}]},{"tab":"Scripting","pages":[{"title":"Scripting","href":"/scripting/getting-started"}]},{"tab":"Runtimes","pages":[{"title":"Runtimes","href":"/runtimes/getting-started"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":" ","pages":[{"title":" ","href":"/tutorials/learn-rive"}]},{"tab":" ","pages":[{"title":" ","href":"/community/support"}]}]},"basePath":"","title":"Inputs - Rive","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BB8grMv9.js","lightbox-handle-r17bVUz3.js"]}