Should TextMeshPro be part of next Unity UI release?

Disclaimer: I have not relation with Digital Native Studios nor TextMeshPro project itself.

As you know, text rendering has been a challenge in Unity UI since ages. Currently, and after trying different solutions, I think TextMeshPro could be the best in terms of quality and functionality. There’re other nice solutions as well, which could be cheaper or more broad in terms of UI although in my experience, there’s no text component out there with the maturity / flexibility / quality of TextMeshPro.

And if we take a look at the Input Component, we can see that here Unity UI needs even more improvements here than with the simple Text Component. The caret for instance gets crazy with alignments different than top. Even setting/getting the text of the input field is buggy.

So, I was wondering if, being something so basic for the UI tool palette (a good text and a input component) if it could be possible to have TextMeshPro as part of Unity in a future release. Obviously this is a wink for Unity, but I really think that this addition must represent a great value for everyone. If Unity wants to enter other vertical markets needs to provide a more professional-look to the UI. Just a thought. I’m sure there lots of devs here, that like I, are quite happy with this asset.

1 Like

I’d be pretty happy if it were; however, there are a good number of Asset Store packages that would be sensible to incorporate into Unity, and it’s not at the top of that list, even if you believe it’s Unity’s prerogative to acquire and integrate Asset Store packages like that. To my knowledge it hasn’t done that, with the closest being hiring the nGUI developer (temporarily) which led the development of 4.6 UI’s tools for a while.

But I would expect other packages - with bigger differentiators from the Unity core feature set - ought to be integrated first, before improvements to the text system. Off the top of my head, Playmaker, any of the Voxel terrain tools, and Vectrosity would all be more mission-critical acquisitions to build in to Unity than TMP.

Well, as long as the asset provides extra functionality as its core value, it should remain in the AssetStore.
TextMeshPro and Vectrosity however are building pieces which are natural replacements to standard products. They exist mainly to solve a common problem.
Probably it goes down to usage stats. I don’t need Voxel Terrain nor Playmaker for instance, since my focus are not games right now… but I think every project needs a good UI toolset.

Put it up on the feedback section.

I for one would vote no. The Unity UI solution is pretty good for the moment. Anything beyond this would only be relevant in a few specialist cases. I’m more then happy with special cases remaining the province of the asset store.

1 Like

Agreeing with @Kiwasi , that it is a more specialized need. Also, though a not so much a valid reason, but having it in the asset store provides a nice benchmark for asset developers. TextMeshPro is easily best in class as far assets go. Additionally, it is constantly updated and new features are added. As an engine feature, it wouldn’t have that level of focus.

2 Likes

I need a clean easy to read 3D font.

I say no, and no to all other assets. I’m happy that Unity’s new UI was designed to be so extensible, allowing assets like Text Mesh Pro and Vectrosity to make good use of them, and allowing a nice integration with other assets and built-in features. If Unity comes with too many specific features then it means we’ll be waiting around too long for bug fixes, and they may not be as flexible as we’d like.

Take a look at NavMeshes. I’m sure the code is really fast and works well for what it’s designed for, but it’s useless once you want to use it for something else, whereas if it were just a lightweight library with decent editor integration that allowed for expansion (like the UI), then I’m sure you’d see more in depth assets that make good use of it, but instead you see assets completely replacing its functionality, because it’s too specific.

The same issues can be said about the old & new particle system, the trail/line renderers, the terrain system, and probably most other aspects that I don’t care to use.

1 Like

Actually, it is just called Unity. :smile: (unity3d is just for the website according to one of the videos in the learning section)

When devs were involved here on the forums during the open 4.6 beta, they mentioned often enough that they wanted to revisit text rendering in Unity. I hope that is still the case because, yeah, TMP knocks the default text components right out of the ring.

We’ve recently migrated to using TMP in Folk Tale for it’s superior clarity. It’s not without it’s flaws under 4.6 (e.g. fading markup text fails due to limited UV coord availability in 4.6 limiting alpha to 0-128; fixed in 5.0). Yes, I’d like to see that tech work it’s way into Unity. Given the tech was first developed by Valve, I’m sure UT will be looking at the papers when they get around to improving the uGUI font rendering.

In the meantime, I’m pleased we have the assetstore where devs can provide improved alternatives over the core engine (i.e. better font rendering), and profit by providing a solution that we can buy, download, and have running in a few minutes.

I think it would be more ideal to first see better memory management for strings, though I’m not sure if that has more to do with the Mono runtime.

Yeah, that’s a Mono thing. Do you use StringBuilder? That helps a fair bit of you need to do a lot with strings.

Yes, StringBuilder.AppendFormat allocates less memory and is somewhat faster than than String.Format. Though It would be ideal if Unity had its own string implementation that didn’t allocate from the heap.

I have been using Text Mesh Pro for a while now and simply could not do without it. When it comes to text, it is a significant improvement over the built-in stuff in Unity.

Having said that and for reasons similar to what @Darkcoder_1 has said, I would fear the focus and update frequency on the product could suffer. On the other hand, if through an acquisition or other arrangements it was to be incorporated and it helped make Text Mesh Pro even more powerful then I would be for it.

1 Like

Just released a new version of TextMesh Pro for Unity 5.0 today which addresses this limitation. This also makes it work as expected when using a CanvasGroup to fade objects. The release for Unity 4.6 with this change should be available tomorrow on the TextMesh Pro user forum.

2 Likes

In my opinion Unity should improve its 3D-Text by upgrading to the technology used here - since its quality is too low.
No matter if they buy and integrate TextMeshPro/Typogenic or do it on their own.

I just want TextMeshPro to show up once a year on the Level 11 Free Assets. A nice sale would be cool too. Make it happen!

1 Like

Here are some reasons why some asset would benefit from a crossover to be integrated as a core service, and I will take TMPro as a ref , but this can apply to all core asset.

A text solution would benefit from tight integration by having access, by design, to Unity internal resources.
For example, unlimited access to the runtime type library. Its already in there and cross platform tested.

A well designed typographic engine can be made open to all Unity developers.
So this doesn’t prevent the asset store from having extensions for this system.
Everyone at least would have a solid base to start on (game & asset developers).

Core services are better managed as a global resource (‘OS’ level).
Specially when you have other asset that work with them…
So you don’t have to ask “When is Asset X going to support Asset Y” . Hoping that your next asset work with your current text rendering/layout asset, this is not ideal.

My take is that the Unity ecosystem would benefit from offering a better API for working with typography/font (a core service), and that API should be based on a modern font stack.
But time is money (also require talented resources), so the question is , can unity spare the resources and is it worth it ?

1 Like

New releases for Unity 4.6 as well as Unity 5.0 were released a few days ago and available on the TextMesh Pro User Forum.

I was able to sneak in support for Strikethrough style at the last minute :slight_smile:

Yes, even better, I’m after the new version which will include text input/editing capabilities!!! Eager to put my hands on it.