I want to label the countries in my game, like in the picture below.

enter image description here

Should the country names be normal unity game objects, or should they live as a textmeshpro on a canvas?

For what it's worth, I don't want the labels to be interactable - clicking on them should bypass the label itself and act as if the user had clicked on whatever is below them.

  • \$\begingroup\$ What have you tried? I mean, what problems are you having with them when they were canvasses? \$\endgroup\$
    – Almo
    Jun 18 at 0:58
  • \$\begingroup\$ I consider this as a design question - I'm sure I could implement either, eventually, but I want to know which is a better plan. \$\endgroup\$ Jun 18 at 1:26
  • \$\begingroup\$ Neither is better in most cases. It depends a lot on your use cases and content creation pipeline. Without more info we can't tell you which is better. \$\endgroup\$
    – Almo
    Jun 18 at 2:04
  • \$\begingroup\$ I think TextMeshPro has components for both (canvas based and "standard" GO). So it won't be huge issue to move from one another if it happens to be a problem. \$\endgroup\$
    – Nikaas
    Jun 18 at 7:04
  • \$\begingroup\$ I'd agree with the above: your best course of action is to proceed with whichever one makes sense to you. If it gives you trouble, ask here about how to solve the specific problem that arises. As it stands, we don't appear to have a problem to solve here — both ways look like they should work just fine. \$\endgroup\$
    – DMGregory
    Jun 18 at 10:23

If it is generated procedurally then you should use text label game objects, or if it is generated by hand then you should embed the label texture into that map texture.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.