⚠️ DEPRECATED: Use Data Binding instead of direct text run manipulation at runtime
DEPRECATION NOTICE: This entire page documents the legacy Text
manipulation system. For new projects: Use Data Binding instead. For existing projects: Plan to
migrate from direct text run manipulation to Data Binding as soon as possible.
For more information on designing and animating Text, please refer to the editor’s text section:
⚠️ LEGACY CONTENT WARNING: The following sections document the deprecated
Text manipulation system. This content is provided for legacy support
only. New implementations should use Data Binding.
If you intend to update a text run at runtime it’s important to manually enter a unique name for the run in the editor:And then export the name: right-click and select Export nameYou can identify an exported component if it’s surrounded by square brackets. This makes it possible for the run to be “discoverable” at runtime by its name. For more information, see Exporting for Runtime.
If the name is not set manually in the editor the name will not be part of
the exported .riv (to reduce file size).
Get/set the text run value on an Artboard instance.
We recommend using Data Binding instead to update text at runtime.
Get/Set Text Run Value
final controller = RiveWidgetController(riveFile);final artboard = controller.artboard;// Get a text run valueartboard.getText(value)// Optional path parameter to get a text run value at a component instance levelartboard.getText(value, path: path)// Set a text run valueartboard.setText(value)// Optional path parameter to set a text run value at a component instance levelartboard.setText(value, path: path)
⚠️ DEPRECATED FEATURE: Nested Text Runs are part of the legacy Text
manipulation system. Use Data Binding instead for controlling component
text properties at runtime.
It’s possible to set nested text runs at runtime—text that is not on the main artboard but on a Component. To set a nested text run, you’ll need to take note of the path where the input exists at an artboard level.For example, to get/set the text run named button_text on the Button artboard, you need to provide the correct path.Setting Nested Text RunsThe artboard names here are:
Main -> NestedArtboard -> Button
However, the path is determined based on the names set in the hierarchy:
ArtboardWithUniqueName -> ButtonWithUniqueName
The path is then: ArtboardWithUniqueName/ButtonWithUniqueName
Be sure to mark the components and text runs as exported. Export
component name
Do not use ”/” in the name for your components, as that will break the search
functionality at runtime.
Get/set a nested text run value on an Artboard instance.
We recommend using Data Binding instead to update text at runtime.
Get/Set Text Run Value
final controller = RiveWidgetController(riveFile);final artboard = controller.artboard;//Use the path parameter to get a text run value at a component instance levelartboard.getText(value, path: path)// Use the path parameter to set a text run value at a component instance levelartboard.setText(value, path: path)
{"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"},{"label":"Your Privacy Choices","href":"https://rive.app/?cookie-settings"}]}]},"fonts":{"heading":{"family":"Tomorrow Placeholder","weight":500,"source":"https://framerusercontent.com/assets/nCpxWS6DaPlPe0lHzStXAPCo3lw.woff2","format":"woff2"}},"integrations":{"amplitude":{"apiKey":"38803036884a752b104ee4bf501e0945"},"cookies":{"key":"rive_analytics","value":"granted"}},"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":"500","cliAllowanceVoyager":"5,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":"6aecc69dc6ee43bd9a030ee4","collectionId":"9fe0a221-f3e5-455d-8b17-45fd5abbfbb1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecc69dc6ee43bd9a030ee4"},"feedback":{"edits":true,"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee68270b65ceb1ec8d6262","clientVersion":"0.0.4076","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":"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":"editor-metadata","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},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","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":"runtimes/flutter/text","slug":"/runtimes/flutter/text","pageMetadata":{"title":"Text","description":"⚠️ DEPRECATED: Use Data Binding instead of direct text run manipulation at runtime","noindex":true,"href":"/runtimes/flutter/text"},"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 direct text run manipulation at runtime\"\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];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,path:`path`,pre:`pre`,span:`span`,strong:`strong`,svg:`svg`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Link,Note,OptimizedImage,Tip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Link)_missingMdxReference(`Link`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`DEPRECATION NOTICE:`}),` This entire page documents the legacy Text\nmanipulation system. `,_jsx(_components.strong,{children:`For new projects:`}),` Use `,_jsx(Link,{href:`data-binding`,children:`Data Binding`}),` instead. `,_jsx(_components.strong,{children:`For existing projects:`}),` Plan to\nmigrate from direct text run manipulation to Data Binding as soon as possible.`]})}),`\n`,_jsx(_components.p,{children:`For more information on designing and animating Text, please refer to the editor’s text section:`}),`\n`,_jsx(CardGroup,{cols:2,children:_jsx(Card,{title:`Text`,href:`/editor/text/text-overview`,icon:_jsxs(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,height:`100%`,fill:`none`,viewBox:`0 0 16 16`,className:`size-4 text-gray-500/80 dark:text-gray-400`,\"aria-hidden\":`true`,children:[_jsx(_components.path,{fill:`currentColor`,d:`M7.31 7.111 2.406 5.15l4.61-1.844.328-.126a2.3 2.3 0 0 1 1.647 0l.33.126L13.93 5.15 9.024 7.112c-.55.22-1.163.22-1.712 0`}),_jsx(_components.path,{stroke:`currentColor`,\"stroke-linecap\":`round`,\"stroke-linejoin\":`round`,d:`m2.405 10.911 4.906 1.963c.55.22 1.162.22 1.712 0l4.906-1.963M2.405 8.031 7.31 9.992c.55.22 1.162.22 1.712 0l4.906-1.963M2.405 5.15 7.31 7.111c.55.22 1.162.22 1.712 0l4.906-1.962-4.61-1.844-.329-.126a2.3 2.3 0 0 0-1.647 0l-.329.126z`})]}),children:_jsx(_components.p,{children:`Information on designing and animating Text`})})}),`\n`,_jsx(Heading,{level:`2`,id:`read/update-text-runs-at-runtime`,children:`Read/update Text Runs at runtime`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`⚠️ LEGACY CONTENT WARNING:`}),` The following sections document the deprecated\nText manipulation system. `,_jsx(_components.strong,{children:`This content is provided for legacy support\nonly.`}),` New implementations should use `,_jsx(Link,{href:`data-binding`,children:`Data Binding`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`If you intend to update a `,_jsx(_components.strong,{children:`text run`}),` at runtime it’s important to manually enter a `,_jsx(_components.em,{children:`unique name`}),` for the run in the editor:`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=016fd8859f1b8906aa175d6edd0b6b65`,alt:`Image`,\"data-og-width\":`578`,width:`578`,\"data-og-height\":`298`,height:`298`,\"data-path\":`images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=280\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=f9957aa81b6650e47c21e523082ee9fd 280w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=560\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=67a2f9f537a4a92440a99ee3b8fb191d 560w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=840\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=f950219a976ea91dcb02f16551dda450 840w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=74d230e43b664e145685be433899b395 1100w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=339cc19b57323965938ea5e4e185eafe 1650w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/3114789e-e298-458e-8d9b-00ca71db658d.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=65bb9c1788518949e81727c5b29894ca 2500w`}),`\n`,_jsxs(_components.p,{children:[`And then export the name: `,_jsx(_components.strong,{children:`right-click`}),` and select `,_jsx(_components.strong,{children:`Export name`})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=7b3b4b6b6370896ef96b01f5d9c2861e`,alt:`Image`,\"data-og-width\":`391`,width:`391`,\"data-og-height\":`481`,height:`481`,\"data-path\":`images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=280\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=c935fb519ef31c2842b6d8c694782224 280w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=560\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=a5aaa0f8553b671155a1305ca0af0161 560w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=840\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=6da053c88fb406291ab9b8498f095842 840w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=bbdcf7d547774abc91e0bc0893fcb1e2 1100w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=5b43da042b8006894f2de3ae3b47ef1b 1650w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/b729291c-f915-4ce0-b2fa-f6d6a742141c.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=96f960b657c8a646550106c16a1a29f4 2500w`}),`\n`,_jsxs(_components.p,{children:[`You can identify an exported component if it’s surrounded by square brackets. This makes it possible for the run to be “discoverable” at runtime by its name. For more information, see `,_jsx(_components.a,{href:`/editor/exporting/exporting-for-runtime`,children:`Exporting for Runtime`}),`.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:_jsxs(_components.strong,{children:[`If the name is not set manually in the editor the name will not be part of\nthe exported `,_jsx(_components.em,{children:`.riv`}),` (to reduce file size).`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Text runs can also be updated on components at runtime, see `,_jsx(_components.a,{href:`#read-update-nested-text-runs-at-runtime`,children:`Read/Update\nNested Text Runs at Runtime`}),` below.`]})}),`\n`,_jsxs(_components.p,{children:[`Get/set the text run value on an `,_jsx(_components.code,{children:`Artboard`}),` instance.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`We recommend using `,_jsx(_components.a,{href:`/editor/data-binding/overview`,children:`Data Binding`}),` instead to update text at runtime.`]})}),`\n`,_jsx(CodeBlock,{filename:`Get/Set Text Run Value`,numberOfLines:`12`,language:`dart`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` controller `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` RiveWidgetController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(riveFile);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` artboard `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` controller.artboard;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Get a text run value`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Optional path parameter to get a text run value at a component instance level`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value, path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Set a text run value`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Optional path parameter to set a text run value at a component instance level`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value, path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`read/update-nested-text-runs-at-runtime`,children:`Read/update nested Text Runs at runtime`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`⚠️ DEPRECATED FEATURE:`}),` Nested Text Runs are part of the legacy Text\nmanipulation system. `,_jsx(_components.strong,{children:`Use Data Binding instead`}),` for controlling component\ntext properties at runtime.`]})}),`\n`,_jsxs(_components.p,{children:[`It’s possible to set nested text runs at runtime—text that is not on the main artboard but on a `,_jsx(_components.a,{href:`/editor/fundamentals/components`,children:`Component`}),`. To set a nested text run, you’ll need to take note of the path where the input exists at an artboard level.`]}),`\n`,_jsxs(_components.p,{children:[`For example, to get/set the text run named `,_jsx(_components.strong,{children:`button_text`}),` on the `,_jsx(_components.strong,{children:`Button`}),` artboard, you need to provide the correct path.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=c8ce539dc6a4608a1a9306d84d22d46a`,alt:`Setting Nested Text Runs `,\"data-og-width\":`3022`,width:`3022`,\"data-og-height\":`1546`,height:`1546`,\"data-path\":`images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=280\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=0b72b0c3dc7e9945d83cdc614b55df04 280w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=560\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=669193bc5a6e936973777e7dbbcc639a 560w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=840\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=2c939367668e3917fad57428a5f0e79a 840w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=1bc53def9200d4093e256999001868ce 1100w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=f2a9a451a1255620de6d8faaefeab3c6 1650w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/51848b07-5a82-4fc9-ab3f-0505336fcce3.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=0af99bc7a77bf5655734a73f651ca4e6 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Setting Nested Text Runs`})}),`\n`,_jsx(_components.p,{children:`The artboard names here are:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Main`}),` -> `,_jsx(_components.strong,{children:`NestedArtboard`}),` -> `,_jsx(_components.strong,{children:`Button`})]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=cd27346bb83269fef885a9f8979e3953`,alt:`Image`,\"data-og-width\":`1580`,width:`1580`,\"data-og-height\":`1082`,height:`1082`,\"data-path\":`images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=280\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=b258eb26576efec12243bc6ee00f91fd 280w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=560\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=78ee5df7e3e7159d5d236fee18a32be5 560w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=840\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=1aa6f14c03a7ede72c179d5ed9922c7f 840w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=90a75f09b29c33512c7f92a2a34b8553 1100w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=896675b26bf8969e568c55372a1564d9 1650w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/fc5b5be2-546f-44d0-ad85-f7a8da64973b.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=1c99fc5e53539b45d6eaeae234f2e9fe 2500w`}),`\n`,_jsx(_components.p,{children:`However, the path is determined based on the names set in the hierarchy:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ArtboardWithUniqueName`}),` -> `,_jsx(_components.strong,{children:`ButtonWithUniqueName`})]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The path is then: `,_jsx(_components.code,{children:`ArtboardWithUniqueName/ButtonWithUniqueName`})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`Be sure to mark the components and text runs as exported.`}),_jsx(`br`,{}),_jsxs(_components.p,{children:[_jsx(OptimizedImage,{src:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=56cb1192d2293554f855737775f6b2e9`,alt:`Export component\nname`,\"data-og-width\":`1892`,width:`1892`,\"data-og-height\":`1010`,height:`1010`,\"data-path\":`images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=280\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=f8e2ffbb02dd41e3ba591c028ab6d323 280w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=560\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=c1dffcb6acf915f5e60613983eab96d4 560w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=840\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=f47cd5b4957e8f8c50f0e2452dbecaef 840w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=0d005116cf7e61ff916f363fbdbb67b9 1100w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=1e02ddc251e7b0ec79e7ebe6ef296bb9 1650w, https://mintcdn.com/rive/QEBBdwwFJOiq_hKR/images/runtimes/618066cd-2909-420e-b94b-d3eb920fe389.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=QEBBdwwFJOiq_hKR\u0026q=85\u0026s=d7ca5a83fd2f9b4d1449b311155d3ed2 2500w`}),` `,_jsx(_components.em,{children:`Export\ncomponent name`})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not use ”/” in the name for your components, as that will break the search\nfunctionality at runtime.`})}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsxs(_components.p,{children:[`Get/set a nested text run value on an `,_jsx(_components.code,{children:`Artboard`}),` instance.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`We recommend using `,_jsx(_components.a,{href:`/editor/data-binding/overview`,children:`Data Binding`}),` instead to update text at runtime.`]})}),`\n`,_jsx(CodeBlock,{filename:`Get/Set Text Run Value`,numberOfLines:`8`,language:`dart`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` controller `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` RiveWidgetController`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(riveFile);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` artboard `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` controller.artboard;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`//Use the path parameter to get a text run value at a component instance level`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value, path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Use the path parameter to set a text run value at a component instance level`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`artboard.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setText`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(value, path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`semantics-for-accessibility`,children:`Semantics for accessibility`}),`\n`,_jsx(_components.p,{children:`Rive now supports screen readers through semantics.`}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/editor/accessibility/semantics`,children:`Semantics`}),` documentation for current guidance.`]}),`\n`,_jsx(Heading,{level:`3`,id:`additional-resources`,children:`Additional resources:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://rive.app/blog/accesible-web-animations-aria-live-regions?utm_source=docs\u0026utm_medium=content`,children:`Accessible web animations: ARIA live regions`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{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":"Text","description":"⚠️ DEPRECATED: Use Data Binding instead of direct text run manipulation at runtime","noindex":true,"href":"/runtimes/flutter/text"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Read/update Text Runs at runtime","slug":"read/update-text-runs-at-runtime","depth":2,"children":[]},{"title":"Read/update nested Text Runs at runtime","slug":"read/update-nested-text-runs-at-runtime","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[{"title":"Semantics for accessibility","slug":"semantics-for-accessibility","depth":3,"children":[]},{"title":"Additional resources:","slug":"additional-resources","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/rive/6157a238f0df2356/rive-init.js","/docs/_mintlify/custom/rive/f98a4b1fb6965efa/rive-consent.js"],"subdomain":"rive","siteName":"Rive","title":"Text - Rive","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-11T15:46:58.853Z","originalFileLocation":"runtimes/flutter/text.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 direct text run manipulation at runtime\">\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=\"Text - Rive\">\u003cmeta data-mint-head property=\"og:description\" content=\"⚠️ DEPRECATED: Use Data Binding instead of direct text run manipulation at runtime\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rive\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://rive.app/docs/runtimes/flutter/text\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rive.mintlify.site/docs/_mintlify/api/og/v2?division=Legacy+Features\u0026amp;title=Text\u0026amp;description=%E2%9A%A0%EF%B8%8F+DEPRECATED%3A+Use+Data+Binding+instead+of+direct+text+run+manipulation+at+runtime\u0026amp;theme=9d194ea41709afb0505e42e9\u0026amp;signature=2854536831dad3c37de4500b4f2e1d536da6f67e34bc400f93f7aa0a77590f9b\">\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=\"Text - Rive\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"⚠️ DEPRECATED: Use Data Binding instead of direct text run manipulation at runtime\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rive.mintlify.site/docs/_mintlify/api/og/v2?division=Legacy+Features\u0026amp;title=Text\u0026amp;description=%E2%9A%A0%EF%B8%8F+DEPRECATED%3A+Use+Data+Binding+instead+of+direct+text+run+manipulation+at+runtime\u0026amp;theme=9d194ea41709afb0505e42e9\u0026amp;signature=2854536831dad3c37de4500b4f2e1d536da6f67e34bc400f93f7aa0a77590f9b\">\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/runtimes/flutter/text\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/runtimes/flutter/text.md\">","siteName":"Rive","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/getting-started/introduction"}]},{"tab":"Editor","pages":[{"title":"Editor","href":"/editor/get-rive"}]},{"tab":"Scripting","pages":[{"title":"Scripting","href":"/scripting/getting-started"}]},{"tab":"Runtimes","groups":[{"group":" ","pages":[{"title":"Getting Started with the Rive Runtimes","sidebarTitle":"Getting Started","href":"/runtimes/getting-started"},{"title":"Rive Runtime Demos \u0026 Starters","sidebarTitle":"Demos","mode":"wide","href":"/runtimes/demos"},{"title":"Feature Support","href":"/feature-support"},{"title":"Runtime Sizes","href":"/runtimes/runtime-sizes"},{"title":"Choosing a Renderer","href":"/runtimes/choose-a-renderer/overview"},{"group":"File formats","pages":[{"title":".riv File Format","href":"/runtimes/advanced-topic/format"},{"title":"Rive Markup Language (RML)","sidebarTitle":"RML","href":"/runtimes/advanced-topic/rml"}]}]},{"group":"Runtimes","pages":[{"group":"Web (JS)","pages":[{"title":"Getting Started","href":"/runtimes/web/web-js"},{"title":"Canvas vs WebGL2","href":"/runtimes/web/canvas-vs-webgl"},{"title":"Rive Parameters","href":"/runtimes/web/rive-parameters"},{"title":"Artboards","href":"/runtimes/web/artboards"},{"title":"Layout","href":"/runtimes/web/layouts"},{"title":"State Machine Playback","href":"/runtimes/web/state-machines"},{"title":"Data Binding","href":"/runtimes/web/data-binding"},{"title":"Loading Assets","href":"/runtimes/web/loading-assets"},{"title":"Fonts","href":"/runtimes/web/fonts"},{"title":"Semantics","href":"/runtimes/web/semantics"},{"title":"Focus","href":"/runtimes/web/focus"},{"title":"Text and key input","sidebarTitle":"Text and Key Input","href":"/runtimes/web/text-and-key-input"},{"title":"GPU Canvas","href":"/runtimes/web/gpu-canvas"},{"title":"Preloading WASM","href":"/runtimes/web/preloading-wasm"},{"title":"Caching a Rive File","href":"/runtimes/web/caching-a-rive-file"},{"title":"Playing Audio","href":"/runtimes/web/playing-audio"},{"title":"Low-level API Usage","href":"/runtimes/web/low-level-api-usage"},{"group":"Legacy Features","pages":[{"title":"Animation Playback","href":"/runtimes/web/animation-playback"},{"title":"Inputs","href":"/runtimes/web/inputs"},{"title":"Text","href":"/runtimes/web/text"},{"title":"Rive Events","href":"/runtimes/web/rive-events"}]},{"title":"Migration Guides","href":"/runtimes/web/migration-guides"},{"title":"FAQ","href":"/runtimes/web/faq"}]},{"group":"React","pages":[{"title":"React","sidebarTitle":"Getting Started","href":"/runtimes/react/react"},{"title":"Parameters and Return Values","href":"/runtimes/react/parameters-and-return-values"},{"title":"Artboards","href":"/runtimes/react/artboards"},{"title":"Layout","href":"/runtimes/react/layouts"},{"title":"State Machine Playback","href":"/runtimes/react/state-machines"},{"title":"Data Binding","href":"/runtimes/react/data-binding"},{"title":"Loading Assets","href":"/runtimes/react/loading-assets"},{"title":"Fonts","href":"/runtimes/react/fonts"},{"title":"Semantics","href":"/runtimes/react/semantics"},{"title":"Focus","href":"/runtimes/react/focus"},{"title":"Text and key input","sidebarTitle":"Text and Key Input","href":"/runtimes/react/text-and-key-input"},{"title":"GPU Canvas","href":"/runtimes/react/gpu-canvas"},{"title":"Preloading WASM","href":"/runtimes/react/preloading-wasm"},{"title":"Caching a Rive File","href":"/runtimes/react/caching-a-rive-file"},{"title":"Playing Audio","href":"/runtimes/react/playing-audio"},{"title":"Rendering to a Bitmap","href":"/runtimes/react/rendering-to-a-bitmap"},{"title":"Best Practices","href":"/runtimes/react/best-practices"},{"group":"Legacy Features","pages":[{"title":"Animation Playback","href":"/runtimes/react/animation-playback"},{"title":"Inputs","href":"/runtimes/react/inputs"},{"title":"Text","href":"/runtimes/react/text"},{"title":"Rive Events","href":"/runtimes/react/rive-events"}]},{"title":"Migration Guides","href":"/runtimes/react/migration-guides"}]},{"group":"React Native","pages":[{"title":"React Native","href":"/runtimes/react-native/react-native"},{"title":"GPU Canvas","href":"/runtimes/react-native/gpu-canvas"},{"title":"Loading Rive Files","href":"/runtimes/react-native/loading-rive-files"},{"title":"Props","href":"/runtimes/react-native/props"},{"title":"Rive Ref Methods","href":"/runtimes/react-native/rive-ref-methods"},{"title":"Error Handling","href":"/runtimes/react-native/error-handling"},{"title":"Adding Rive to Expo","href":"/runtimes/react-native/adding-rive-to-expo"},{"title":"Native SDK Version Customization","sidebarTitle":"Custom SDK Version","href":"/runtimes/react-native/native-version-customization"},{"title":"Artboards","href":"/runtimes/react-native/artboards"},{"title":"Layout","href":"/runtimes/react-native/layouts"},{"title":"State Machine Playback","href":"/runtimes/react-native/state-machines"},{"title":"Data Binding","href":"/runtimes/react-native/data-binding"},{"title":"Loading Assets","href":"/runtimes/react-native/loading-assets"},{"title":"Fonts","href":"/runtimes/react-native/fonts"},{"title":"Caching a Rive File","href":"/runtimes/react-native/caching-a-rive-file"},{"title":"Semantics","href":"/runtimes/react-native/semantics"},{"title":"Playing Audio","href":"/runtimes/react-native/playing-audio"},{"group":"Legacy Features","pages":[{"title":"Animation Playback","href":"/runtimes/react-native/animation-playback"},{"title":"Inputs","href":"/runtimes/react-native/inputs"},{"title":"Text","href":"/runtimes/react-native/text"},{"title":"Rive Events","href":"/runtimes/react-native/rive-events"}]},{"title":"Migration Guide","href":"/runtimes/react-native/migration-guide"}]},{"group":"Flutter","pages":[{"title":"Flutter","href":"/runtimes/flutter/flutter"},{"title":"Rive Native for Flutter","href":"/runtimes/flutter/rive-native"},{"title":"Artboards","href":"/runtimes/flutter/artboards"},{"title":"Layout","href":"/runtimes/flutter/layouts"},{"title":"State Machine Playback","href":"/runtimes/flutter/state-machines"},{"title":"Data Binding","href":"/runtimes/flutter/data-binding"},{"title":"Loading Assets","href":"/runtimes/flutter/loading-assets"},{"title":"Fonts","href":"/runtimes/flutter/fonts"},{"title":"Semantics","href":"/runtimes/flutter/semantics"},{"title":"Caching a Rive File","href":"/runtimes/flutter/caching-a-rive-file"},{"title":"Playing Audio","href":"/runtimes/flutter/playing-audio"},{"group":"Legacy Features","pages":[{"title":"Animation Playback","href":"/runtimes/flutter/animation-playback"},{"title":"Inputs","description":"⚠️ DEPRECATED: Use Data Binding instead of Inputs for controlling Rive animations","href":"/runtimes/flutter/inputs"},{"title":"Text","href":"/runtimes/flutter/text"},{"title":"Rive Events","description":"⚠️ DEPRECATED: Use Data Binding instead of Events","href":"/runtimes/flutter/rive-events"}]},{"title":"Migration Guide","href":"/runtimes/flutter/migration-guide"},{"title":"FAQ","href":"/runtimes/flutter/faq"},{"title":"Flutter API Reference","sidebarTitle":"API Reference","href":"/runtimes/flutter/api-reference"}]},{"group":"Apple","pages":[{"title":"Apple","href":"/runtimes/apple/apple"},{"title":"GPU Canvas","href":"/runtimes/apple/gpu-canvas"},{"title":"FAQ","href":"/runtimes/apple/faq"},{"title":"Resource Usage","href":"/runtimes/apple/resource-usage"},{"title":"Artboards","href":"/runtimes/apple/artboards"},{"title":"Layout","href":"/runtimes/apple/layouts"},{"title":"State Machine Playback","href":"/runtimes/apple/state-machines"},{"title":"Data Binding","href":"/runtimes/apple/data-binding"},{"title":"Loading Assets","href":"/runtimes/apple/loading-assets"},{"title":"Fonts","href":"/runtimes/apple/fonts"},{"title":"Caching a Rive File","href":"/runtimes/apple/caching-a-rive-file"},{"title":"Semantics","href":"/runtimes/apple/semantics"},{"title":"Playing Audio","href":"/runtimes/apple/playing-audio"},{"title":"Logging","href":"/runtimes/apple/logging"},{"group":"Legacy Features","pages":[{"title":"Animation Playback","href":"/runtimes/apple/animation-playback"},{"title":"Inputs","href":"/runtimes/apple/inputs"},{"title":"Text","href":"/runtimes/apple/text"},{"title":"Rive Events","href":"/runtimes/apple/rive-events"}]},{"title":"Migration Guides","href":"/runtimes/apple/migration-guides"},{"title":"Migrating from the Legacy Rive Apple Runtime","sidebarTitle":"Migrating from Legacy","href":"/runtimes/apple/migrating-from-legacy"}]},{"group":"Android","pages":[{"title":"Android","href":"/runtimes/android/android"},{"title":"Artboards","href":"/runtimes/android/artboards"},{"title":"Layout","href":"/runtimes/android/layouts"},{"title":"State Machine Playback","href":"/runtimes/android/state-machines"},{"title":"Data Binding","href":"/runtimes/android/data-binding"},{"title":"Loading Assets","href":"/runtimes/android/loading-assets"},{"title":"Fonts","href":"/runtimes/android/fonts"},{"title":"Caching a Rive File","href":"/runtimes/android/caching-a-rive-file"},{"title":"Playing Audio","href":"/runtimes/android/playing-audio"},{"title":"Logging","href":"/runtimes/android/logging"},{"title":"Rendering to a Bitmap","href":"/runtimes/android/rendering-to-a-bitmap"},{"group":"Legacy Features","pages":[{"title":"Getting Started (Legacy API)","href":"/runtimes/android/legacy-getting-started"},{"title":"Animation Playback","href":"/runtimes/android/animation-playback"},{"title":"Inputs","href":"/runtimes/android/inputs"},{"title":"Text","href":"/runtimes/android/text"},{"title":"Rive Events","href":"/runtimes/android/rive-events"}]},{"title":"Migrating from the Legacy Rive Android Runtime","sidebarTitle":"Migrating from Legacy","href":"/runtimes/android/migrating-from-legacy"},{"title":"API Reference","url":"https://api-docs.rive.app/android/latest/","href":"/runtimes/android/api-reference"}]},{"group":"Unity","pages":[{"title":"Unity","href":"/game-runtimes/unity/unity"},{"title":"Getting Started","href":"/game-runtimes/unity/getting-started"},{"title":"Fundamentals","href":"/game-runtimes/unity/fundamentals"},{"title":"Components","href":"/game-runtimes/unity/components"},{"title":"Best Practices","href":"/game-runtimes/unity/best-practices"},{"title":"Layouts","href":"/game-runtimes/unity/layouts"},{"title":"Listeners","href":"/game-runtimes/unity/listeners"},{"title":"State Machines","href":"/game-runtimes/unity/state-machines"},{"title":"Data Binding","href":"/game-runtimes/unity/data-binding"},{"title":"Loading Assets","href":"/game-runtimes/unity/loading-assets"},{"title":"Audio","href":"/game-runtimes/unity/audio"},{"group":"Tutorials","pages":[{"title":"Control a health bar with data binding in Unity","href":"/game-runtimes/unity/tutorials/health-bar"}]},{"title":"Procedural Rendering","href":"/game-runtimes/unity/procedural-rendering"},{"title":"Runtime Asset Swapping","href":"/game-runtimes/unity/runtime-asset-swapping"},{"title":"FAQ","href":"/game-runtimes/unity/faq"},{"group":"Legacy Features","pages":[{"title":"Inputs","href":"/game-runtimes/unity/inputs"},{"title":"Text","href":"/game-runtimes/unity/text"},{"title":"Rive Events","href":"/game-runtimes/unity/rive-events"}]}]},{"group":"Unreal","pages":[{"title":"Unreal Engine","href":"/game-runtimes/unreal/unreal"},{"title":"Getting Started","href":"/game-runtimes/unreal/getting-started"},{"title":"Observing ViewModel Changes","href":"/game-runtimes/unreal/observing-viewmodel-changes"},{"title":"Using Triggers","href":"/game-runtimes/unreal/using-triggers"},{"title":"Runtime Asset Swapping","href":"/game-runtimes/unreal/runtime-asset-swapping"},{"title":"World-Space RenderTargets","href":"/game-runtimes/unreal/in-world-textures"}]},{"group":"C++","pages":[{"title":"C++ Runtime","sidebarTitle":"Overview","href":"/runtimes/cpp/overview"},{"title":"Getting Started","href":"/runtimes/cpp/getting-started"},{"title":"File \u0026 Artboard","href":"/runtimes/cpp/file-and-artboard"},{"title":"State Machines","href":"/runtimes/cpp/state-machines"},{"title":"Data Binding","href":"/runtimes/cpp/data-binding"},{"title":"Asset Loading","href":"/runtimes/cpp/asset-loading"},{"title":"Rendering Loop","href":"/runtimes/cpp/rendering-loop"},{"title":"Command Queue","href":"/runtimes/cpp/command-queue"},{"title":"Renderers","href":"/runtimes/cpp/renderers"},{"title":"External Renderer","href":"/runtimes/cpp/external-renderer"}]},{"title":"Defold","href":"/game-runtimes/defold"},{"group":"Community Runtimes","pages":[{"title":"Angular","href":"/runtimes/community-runtimes/angular"},{"title":"C# (UWP)","href":"/runtimes/community-runtimes/c-sharp"},{"title":"Qt / QtQuick","href":"/runtimes/community-runtimes/qt-quick"},{"title":"RiveCMP","href":"/runtimes/community-runtimes/rive-cmp"}]}]},{"group":"Integrations","pages":[{"title":"3rd Party Integrations","href":"/integrations/overview"},{"title":"HTML Embed","href":"/integrations/html-embed"}]}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":" ","pages":[{"title":" ","href":"/tutorials/learn-rive"}]},{"tab":" ","pages":[{"title":" ","href":"/community/support"}]}]},"basePath":"","title":"Text - Rive","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CypZe82l.js","lightbox-handle-r17bVUz3.js"]}