[2.0] Error while importing TextMeshPro package

Announcements, support questions, and discussion for the Dialogue System.
mgregoirelds
Posts: 106
Joined: Wed Aug 23, 2017 4:10 pm
Location: Canada

[2.0] Error while importing TextMeshPro package

Post by mgregoirelds »

Hello,

So far, I've upgraded to 2.0 without any problem. However, I've been trying to import TextMesh Pro support package and I'm getting this issue:

Code: Select all

Assets/Pixel Crushers/Dialogue System/Third Party Support/TextMesh Pro Support/Scripts/Common/TextMeshProContinueButtonFastForward.cs(17,16): error CS0246: The type or namespace name `TextMeshProTypewriterEffect' could not be found. Are you missing an assembly reference?
It looks like TextMeshProTypewriterEffect.cs is all commented out. Is this normal? I uncommented out the file and all is good now.

Also, for Rewired support, there is a package in Pixel Crushers\Common\Third Party Support and another one in Pixel Crushers\Dialogue System\Third Party Support. Which one should be used?

Thanks!
Unity 2022.3.17f1
Dialogue System 2.2.44.1
OpenAI Addon 1.0.12
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: [2.0] Error while importing TextMeshPro package

Post by Tony Li »

Hi,

Thanks for pointing these out. I need to clear this up in the documentation.

TextMesh Pro:
The TextMeshProTypewriterEffect was moved into the Dialogue System core. It's in Plugins > Pixel Crushers > Dialogue System > Scripts > UI Subsystem > UI Utility > TextMeshProTypewriterEffect.cs. It should be recognized if the scripting define symbol TMP_PRESENT is defined. Would you please check if this symbol is defined (Edit > Project Settings > Player > Other Settings)?

Rewired:
The Dialogue System's Rewired Support script, DialogueSystemRewired, tells the Dialogue System to use Rewired when checking for the Cancel and Cancel Conversation inputs during conversations.

The Pixel Crushers Common Rewired Support script, InputDeviceManagerRewired, tells the InputDeviceManager to use Rewired. This is used by the Standard Dialogue UI and UIButtonKeyTrigger component. I just discovered a bug that causes it to use Unity Input instead. I'll post a fix to the Extras page later today.
mgregoirelds
Posts: 106
Joined: Wed Aug 23, 2017 4:10 pm
Location: Canada

Re: [2.0] Error while importing TextMeshPro package

Post by mgregoirelds »

Tony Li wrote: Mon Jun 04, 2018 10:36 am TextMesh Pro:
The TextMeshProTypewriterEffect was moved into the Dialogue System core. It's in Plugins > Pixel Crushers > Dialogue System > Scripts > UI Subsystem > UI Utility > TextMeshProTypewriterEffect.cs. It should be recognized if the scripting define symbol TMP_PRESENT is defined. Would you please check if this symbol is defined (Edit > Project Settings > Player > Other Settings)?
No it is not defined. Could it be that I don't install TMP as an Asset Store package anymore and that I am using the new Unity Package Manager instead? I started using Unity Package Manager with 2018.1 as it will be the preferred way to update and sync TMP now.
Tony Li wrote: Mon Jun 04, 2018 10:36 am Rewired:
The Dialogue System's Rewired Support script, DialogueSystemRewired, tells the Dialogue System to use Rewired when checking for the Cancel and Cancel Conversation inputs during conversations.

The Pixel Crushers Common Rewired Support script, InputDeviceManagerRewired, tells the InputDeviceManager to use Rewired. This is used by the Standard Dialogue UI and UIButtonKeyTrigger component. I just discovered a bug that causes it to use Unity Input instead. I'll post a fix to the Extras page later today.
Great, thanks for the clarification.
Unity 2022.3.17f1
Dialogue System 2.2.44.1
OpenAI Addon 1.0.12
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: [2.0] Error while importing TextMeshPro package

Post by Tony Li »

I'm still working out issues with TMP and the new package manager. It's still supposed to set TMP_PRESENT, but in some versions of Unity and/or releases of the TMP package it doesn't.
mgregoirelds
Posts: 106
Joined: Wed Aug 23, 2017 4:10 pm
Location: Canada

Re: [2.0] Error while importing TextMeshPro package

Post by mgregoirelds »

Hello,

I manually added TMP_PRESENT to the Scripting Define Symbols list and it is working great. However, Typewriter with TMP still does not work with custom Dialogue UI that I created.

I tested out too a brand new Unity project with TMP and Dialogue System 2.0 with TMP integration to see if the problem was also present with TMP UI prefab, and while looking at the SF TMP Dialogue UI prefab, I can see that there is a missing script associated to "PC Subtitle Line TMP". While trying to run the sample I am getting about 95 warnings, mostly stuff about "referenced script (such as TextMeshProTypewriteEffect) on this Behaviour is missing".

Also, it looks by the updated documentation that I can remove the previous integration I had with TextMesh Pro Dialogue UI and use Standard Dialogue UI instead with TMP. However, in the Alert Text field, I can't link to a GO containing my TMP UI Text. How can I do that? Same thing with the Standard UI Subtitle Panel which can't link TMP UI Text, only default Unity Text. Am I missing something?

I'm sorry if I'm asking many questions... I just want to have the same behaviour as before (with TypewriterEffect on TMP). I also want to upgrade and convert properly to the (new) preferred method when using the new Standard Dialogue UI with TMP.
Unity 2022.3.17f1
Dialogue System 2.2.44.1
OpenAI Addon 1.0.12
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: [2.0] Error while importing TextMeshPro package

Post by Tony Li »

Hi,

I just put an updated TextMesh Pro Support package on the Dialogue System Extras page. It should fix your custom Dialogue UI. Your Dialogue UI probably points to the older typewriter effect script that's commented out. The updated package makes that script a pass-through subclass of the new typewriter effect script.

For the brand new project, to play the example scene and use the provided UI prefabs in Unity 2018+, you must update it using TextMesh Pro's updater tool: Window → TextMeshPro → Project Files GUID Remapping Tool. I'm updating the manual now to mention that.
mgregoirelds
Posts: 106
Joined: Wed Aug 23, 2017 4:10 pm
Location: Canada

Re: [2.0] Error while importing TextMeshPro package

Post by mgregoirelds »

Hello, thanks I will test both solutions.

Meanwhile, I guess when you were writing back the answer, I added another question to my previous comment...
"Also, it looks by the updated documentation that I can remove the previous integration I had with TextMesh Pro Dialogue UI and use Standard Dialogue UI instead with TMP. However, in the Alert Text field, I can't link to a GO containing my TMP UI Text. How can I do that? Same thing with the Standard UI Subtitle Panel which can't link TMP UI Text, only default Unity Text. Am I missing something?"
I don't mind moving over to the new way of handling TMP stuff with Standard Dialogue UI. Thanks!
Unity 2022.3.17f1
Dialogue System 2.2.44.1
OpenAI Addon 1.0.12
mgregoirelds
Posts: 106
Joined: Wed Aug 23, 2017 4:10 pm
Location: Canada

Re: [2.0] Error while importing TextMeshPro package

Post by mgregoirelds »

My bad! I was using the package version on the client portal and TMP was disabled from Standard Dialogue UI! The version from the Asset Store is fine. Hehe, I'll update my UI with the new method. Have a nice day!
Unity 2022.3.17f1
Dialogue System 2.2.44.1
OpenAI Addon 1.0.12
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: [2.0] Error while importing TextMeshPro package

Post by Tony Li »

Great! In case other readers would like more info (and because I took the screenshots already ;) ) if the scripting symbol TMP_PRESENT is defined, then the text fields should have two slots like this:

Image

When you assign one (e.g., the TMP slot), the other one will disappear:

Image
sleepyBear
Posts: 15
Joined: Wed Nov 07, 2018 10:27 pm

Re: [2.0] Error while importing TextMeshPro package

Post by sleepyBear »

Hi,

I'm using the evaluation version 2.0.5 and I am also getting this error. I did type TMP_PRESENT in the player definable script but I still can't get rid of the error :(

I really need TextMeshPro to work first before I consider buying this asset.
Post Reply