TextMeshPro incorrectly exposed
complete
Cake․
Previously exposed TMP methods are not exposed any longer (or maybe never really were).
For instance,
ForceMeshUpdate
was exposed in update 2021.4.1 (https://docs.vrchat.com/docs/vrchat-202141)for both
TextMeshPro
and TextMeshProUGUI
but is unavailable
for TextMeshPro
.Note the difference that
TextMeshProUGUI
is for canvases and TextMeshPro
for being placed inside the scene.Another issue is being
TMP_CharacterInfo[]
exposed (via TextMeshProUGUI.characterInfo
) but the type itself, TMP_CharacterInfo
, is unexposed.Therefore I request to reiterate over this list and expose what's unexposed:
- TextMeshPro.textInfo
- TextMeshPro.meshInfo
- TextMeshPro.mesh
- TextMeshPro.enabled
- TextMeshPro.ForceMeshUpdate
- TextMeshPro.UpdateGeometry
- TextMeshProUGUI.textInfo
- TextMeshProUGUI.meshInfo
- TextMeshProUGUI.mesh
- TextMeshProUGUI.enabled
- TextMeshProUGUI.ForceMeshUpdate
- TextMeshProUGUI.UpdateGeometry
Overall, all methods and fields by these two main types should be evaluated for being exposed, including base members.
However without these following types doing anything but basic operations on TMP is pretty much pointless, hence I request these types (not only as array) to be exposed, including their fields and methods:
- TMP_MeshInfo
- TMP_TextInfo
- TMP_CharacterInfo
- TMP_ColorGradient
- TMP_Text
- TMP_Dropdown
The first two images in the attachment show how the same method is not exposed for different TMP types.
The third image is displaying how a variety of types are exposed as array only.
The fourth image showcases how
TextMeshPro
is also mostly unexposed, the list grows even longer when including base members.In contrast, the fifth image presents
TextMeshProUGUI
(without base members).It will be amazing if this is being looked into because TMP is a very powerful tool.
Thank you for your time!
Log In
Fax
complete
All the requested methods, types, and methods have been implemented!🎉
... Except
meshInfo
! I created a separate bug report for it: https://feedback.vrchat.com/udon/p/textmeshpromeshinfo-not-exposedFax
needs more information
Hi! Thank you for your request.
We exposed a bunch of TextMeshPro components and properties earlier this year: https://creators.vrchat.com/worlds/components/textmeshpro/
This request contains several f different requests. Do you think it might make sense to open separate requests? Or should this request stay open, even though parts of it have been completed?
Nіyah
Fax Well, I assume it would be someone job at the company to check if everything has been correctly exposed & decide if it should be separated or not now.
Eventually, the whole request concern a single asset, TMP, so having everything at the same place make sense to me, but in the end it all depends on how the team work, you guys know best.
Fax
Hi Niyah! This post is quite old, and we always appreciate the community's help with clarifying bugs or issues.
I went through the list of TMP properties, types, and methods requested in this post and its comments. It looks like almost all of them have been implemented! 🥳
✅ForceMeshUpdate
✅UpdateGeometry
✅maxDisplayedChars
✅textInfo
❌meshInfo
The post also mentions:
✅TMP_TextInfo
❌TMP_MeshInfo
❌TMP_CharacterInfo
✅TMP_ColorGradient (may not be useable?)
✅TMP_Text
✅TMP_Dropdown
TMP_Dropdown required us to expose a few additional types:
✅VRCTMPDropdownExtension
✅TMP_Dropdown.OptionData
Please let us know if we missed anything!
I created a new Canny request to track the implementation of
meshInfo
: https://feedback.vrchat.com/udon/p/textmeshpromeshinfo-not-exposedchiugame
Fax TMP_CharacterInfo is not exposed in SDK 3.7.0 either.
The test code is as follows:
using TMPro;
using UdonSharp;
using UnityEngine;
public class TMP_CharacterInfoTest : UdonSharpBehaviour
{
[SerializeField] private TextMeshProUGUI _text;
private void Start()
{
Debug.Log(_text.textInfo.characterInfo[0].index);
}
}
The related Canny is as follows:
mzx987
I know it's not of any high priority, but I do hope this gets added in soon. I've had some really interesting ideas set aside that require the use of these methods.
Nіyah
Aaaand this, please.
JessyCat92
There are some more TMP Stuff that is not exposed yet, so I guess it is worth it to mention here:
TextMeshPro.pageToDisplay
TextMeshProUGUI.pageToDisplay
Both give ability to add pagination to text meshes, which is nice for some usecases like books, tutorials in worlds or even a ebook reader for chillworlds.
Fionna
I am trying to use TMP to add accessibility tools to worlds. In this case, being able to access the dynamic mesh would be very useful, and workarounds are not very performant.