How to make your text clickable πŸ’› Unity TextMeshPro and the link tag

Christina Creates Games
5 Dec 202207:27

Summary

TLDRThis tutorial delves into the versatile Text Mesh Pro link tag, exploring its potential beyond URL links to enhance game interactions. It demonstrates creating a tooltip system for a text box, showing how to use custom tags for gradient effects and handling mouse clicks to display ingredient information. The video guides viewers through setting up scripts for tooltip control, handling text interactions, and utilizing the link tag with unique keywords. It also touches on implementing animations and subscribing to events for a dynamic user experience, concluding with a call to action for feedback and further learning.

Takeaways

  • πŸ”— The Text Mesh Pro link tag is not just for URLs but can be used to integrate with game systems.
  • πŸ“š The tutorial series will explore advanced uses of the link tag, starting with a tooltip example.
  • 🎯 The first example project demonstrates creating a tooltip for text or sprites in a textbox when clicked.
  • πŸ› οΈ Three scripts are created: one for tooltip info, one for textbox interaction, and one for controlling the tooltip.
  • πŸ“ The link tag syntax is introduced, with emphasis on unique 'keywords' that trigger actions.
  • πŸ‘€ The 'LinkHandlerForTMPText' class is explained, detailing how to attach it to a GameObject and find necessary elements.
  • 🐾 Implementing the 'IPointerClickHandler' interface makes text elements clickable and able to detect links.
  • πŸ“‘ A system for detecting mouse position and linking it to a tooltip is described, including the use of events.
  • πŸ“œ The 'Tooltip Handler' script is detailed, showing how to manage the display of tooltips with keywords and sprites.
  • πŸ–ΌοΈ A 'TooltipInfos' struct is introduced to link keywords with corresponding graphics for the tooltip.
  • πŸ›‘ A method for closing the tooltip, either by clicking or reversing an animation, is suggested.

Q & A

  • What is the primary purpose of the link tag in Text Mesh Pro discussed in the script?

    -The primary purpose of the link tag in Text Mesh Pro is to enable interactive elements within the game, such as displaying tooltips when a word or a sprite in the textbox is clicked, rather than just linking to external websites.

  • What is the first example project discussed in the video?

    -The first example project is about creating a tooltip that appears when a word or sprite in a textbox is clicked, displaying the name of the ingredient and some visualization.

  • What are the three small scripts mentioned in the script that will be created?

    -The three small scripts to be created are: one for holding information for the tooltip, one for handling interactions with the textbox, and one to control the tooltip.

  • How does the script determine if there is a link under the cursor when clicked?

    -The script uses the `TMP_Text.GetLinkedTextComponent` method to check if there is a link under the cursor when clicked, which returns an int value representing the index of the link, not a boolean.

  • What is the purpose of the `LinkHandlerForTMPText` class in the script?

    -The `LinkHandlerForTMPText` class is a MonoBehaviour that handles the detection of link tags within the Text Mesh Pro component and manages the interactions when a user clicks on these tags.

  • Why is the camera required in the script and how is it handled?

    -The camera is required to calculate the mouse position relative to the UI elements. It is handled by assigning it to the script either automatically or by manually setting it in the Unity Inspector.

  • What interface does the script implement to make text elements clickable?

    -The script implements the `IPointerClickHandler` interface to make text elements clickable and respond to user clicks.

  • How does the script notify the tooltip controller to show the tooltip box?

    -The script uses an event and a delegate to notify the tooltip controller to show the tooltip box, passing a string parameter that contains the keyword associated with the clicked text.

  • What is the structure of the `TooltipInfos` script mentioned in the script?

    -The `TooltipInfos` script is a Serializable struct that contains a keyword and a Sprite, used to associate specific keywords with corresponding graphics for display in the tooltip.

  • How can the tooltip be closed in the system described?

    -The tooltip can be closed by either playing the popup animation in reverse, setting the tooltip's active state to false, or triggering a click event that sets the tooltip inactive.

  • What additional step is suggested to make clickable elements stand out in the text?

    -To make clickable elements stand out, the tutorial suggests tagging them with a distinct style, which can be learned more about in a separate tutorial focused on styles.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Game DevelopmentText Mesh ProInteractive TooltipsUnity TutorialUI DesignLink TagsScriptingAnimationGame UXTooltip System