Page 1 of 2

[2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 9:47 am
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!

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 10:36 am
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.

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 10:54 am
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.

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 11:28 am
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.

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 1:27 pm
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.

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 2:37 pm
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.

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 4:54 pm
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!

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 5:09 pm
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!

Re: [2.0] Error while importing TextMeshPro package

Posted: Mon Jun 04, 2018 5:10 pm
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

Re: [2.0] Error while importing TextMeshPro package

Posted: Wed Nov 07, 2018 10:44 pm
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.