Search Unity

UI Text Effects (for standard Unity UI Text)

Discussion in 'Assets and Asset Store' started by DominoOne, Jan 11, 2016.

  1. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    We are happy to announce that we've just released a package with various Unity UI (uGUI) Text Effects.

    https://www.assetstore.unity3d.com/en/#!/content/52508



    There are 12 extremely valuable effects:
    - Better Outline: a more continuous outline than the standard one.
    - Gradient Color: global/local, vertical/horizontal, override/additive/multiply.
    - Depth Effect: add thickness to text.
    - Soft Shadow: blurry shadow.
    - Outer Bevel: add outer lit and shaded edges.
    - Skew Effect: add horizontal+vertical transformations and perspective.
    - Curve Effect: bend or distort text vertically.
    - Character Spacing: increase or decrease the distance between individual characters.
    - Limit Visible Characters: hide characters, make a typewriter.
    - Overlay Texture: add an image overlay, local/global, override/additive/multiply.
    - Inner Bevel: add lit and shaded edges inside the characters, override/additive/multiply (only "override" on SM2 level GPUs).
    - Inner Outline: add outline inside the characters, override/additive/multiply.









    With this package, you can finally echo effects from Photoshop or Word, while still using the standard Unity UI Text.

    Suggestions for new effects are very welcome. The newly made effects will be added to the package.
     
    theANMATOR2b likes this.
  2. gpence

    gpence

    Joined:
    Mar 24, 2014
    Posts:
    1
    This looks fantastic. Can you verify that it is compatible with Unity 5.3.2?
     
  3. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi gpence,

    Thanks for the kind words! And yes, it definitely supports Unity 5.3.2 :)
     
    Last edited: Mar 25, 2016
    gpence likes this.
  4. joelbelo

    joelbelo

    Joined:
    Oct 12, 2012
    Posts:
    10
    This looks very good but how about performance in mobile? It's faster than the unity default shadow and outline effects?
     
  5. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi joelbelo,

    Some of the effects (e. g. gradient, skew, inner outline, etc.) are faster, but some aren't. They're basically made in the same way as the standard Unity effects, so if you're having issues with the standard ones, you'll probably have them with ours, too :) On the other hand, if you're not overusing them, they will work perfectly fine on mobile platforms!
     
  6. dis-s

    dis-s

    Joined:
    Mar 25, 2013
    Posts:
    48
    Hi!

    After the several Unity crashes I started the profiler and found the huge memory/material leak in following components:
    - InnerBevel
    - InnerOutline
    - OverlayTexture

    Run your demo scene with Unity Profiler and you will see the increasing "Materials" count every frame! Please, fix it asap...

    I am using Unity v5.3.3f1

    unity.PNG unity.PNG
     
    Last edited: May 7, 2016
  7. dis-s

    dis-s

    Joined:
    Mar 25, 2013
    Posts:
    48
    Hi!

    And the feature request: as far as I can see the image transparency is not supported in the "OverlayTexture". Can you make the support for image transparency?

    I'd like to have the transparent or semi-transparent letters with the bevels. If I try to apply color transparency, the bevels become transparent also. Can you make the effect with the transparent letter backround but with non transparent bevels?
     
  8. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi dis-s,

    Thanks a lot for detecting this issue and pinpointing the three effects! I think I know where the issue lies - unexpected Unity behavior (due to a bug or misleading documentation), but we will definitely look for a solution for this.

    Regarding the feature request: are you talking about Inner Bevel? Or Outer Bevel?
     
  9. dis-s

    dis-s

    Joined:
    Mar 25, 2013
    Posts:
    48
    Both. See, what I mean:
    example.png
     
  10. dis-s

    dis-s

    Joined:
    Mar 25, 2013
    Posts:
    48
    One more example:
    example2.png
     
  11. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi everyone,

    An update is finally on the Asset Store: http://u3d.as/n57

    - The mentioned material leak for Fancy Effects has been fixed.
    - For global effects (and effects that can be applied in local or global space), in addition to applying them within the text area, there is now a possibility to apply them in full rect space.
     
  12. Neonlyte

    Neonlyte

    Joined:
    Oct 17, 2013
    Posts:
    516
    Hi,

    So I stumbled across your plugin for a substitute of the built-in Outline UI effects. The result looks very promising from the images. I wonder if the "Better Outline" offered in your plugin has controls over the thickness and the color with alpha of the outline since there is no demo offered and I could not tell from the images.

    I also wonder the performance of the plugin comparing with the built-in effects. Currently my scene uses a lot of text components and using the built-in Outline is too much for a device like iPad 4.

    Thank you!
     
  13. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hello Neonlyte,

    Some of our effects, including the Better Outline, work very similarly to the standard Unity effects. So, unfortunately, if you're having trouble with performance with the standard one, ours will not be better in this case. We have been looking into how to improve that, but haven't had the chance to implement it yet.
     
  14. sticklezz

    sticklezz

    Joined:
    Oct 27, 2015
    Posts:
    33
    I'm disappointed with typewriter effect (only reason purchased it)

    It isn't exposed the delay per character, and it keeps looping (back to off and starting again) , which is not how any typewriter effect should work. . As a non-programmer, it is not useful to me
     
  15. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi sticklezz,

    Sorry for the misunderstanding! In the list of all available effects, a typewriter effect isn't listed - there is only the "Limit Visible Characters" effect, which can be used to make a typewriter with just a couple lines of code. I thought this was clear, but I'll have in mind that it isn't. On the other hand, there is a sample typewriter script within the samples of this package, so I can probably make the changes that you need and possibly include them in future releases. Since we also received an e-mail from you, let's continue there.
     
  16. sticklezz

    sticklezz

    Joined:
    Oct 27, 2015
    Posts:
    33
    Thanks for helping me!!!!

    The tool is great that it doesn't add a new text field type like so many other text effects, I can use this with standard text fields
     
  17. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Glad I could help! :)
     
  18. noanoa

    noanoa

    Joined:
    Apr 17, 2014
    Posts:
    225
    Does it work for any font ugui can render? I'm assuming you can use it like ugui effect components(like outline and shadow components), am I right?
     
  19. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi noanoa,

    You are absolutely right, our effects are using the same base for the effects as the default Unity effects. Although, three effects (Overlay Texture, Inner Bevel and Inner Outline) use a special shader, but unless you're using special text shaders of your own, it shouldn't cause any inconveniences.
     
  20. noanoa

    noanoa

    Joined:
    Apr 17, 2014
    Posts:
    225
    Thanks! I've been looking for an asset like this.
     
    DominoOne likes this.
  21. doraya

    doraya

    Joined:
    Jul 5, 2015
    Posts:
    1
    Does the outline feature support text transparency?
     
  22. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi doraya,

    The outline surely supports transparency, although when it's semi-transparent, the text itself adopts the tint of the outline a little.
     
  23. firestoke

    firestoke

    Joined:
    Oct 21, 2015
    Posts:
    13
    hi,

    does this plugin support Chinese or other Asia font?
    can you give a demo screenshot with using the Chinese font?
    thanks!
     
  24. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi firestoke,

    Our plugin supports any font or text that Unity UI supports :) If you can use your font with the standard Unity UI Text, you'll be able to apply our effects. I don't have a Chinese font right now, but I've attached a little sample with Japanese symbols.
     

    Attached Files:

  25. LUCASROSCOE

    LUCASROSCOE

    Joined:
    Nov 25, 2016
    Posts:
    1
    Hi DominoOne, this asset looks great, but I have a question, another time I tried to use someone elses outline and it made my app look very lagged, because I use it on forms that are created on a scene and sometimes there are a whole bunch of them, the effect that made me more interested is the Depth Effect, can you assure that this effect won´t make my App lagged??
     
  26. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi LUCASROSCOE,

    Unfortunately, I cannot guarantee that your app won't lag, because I simply don't know what it does or how optimized it already is :) The Depth Effect works in a similar manner as the default Unity UI Outline effect, so if that one doesn't lag for you, this one shouldn't either.

    Hope that helps!
     
  27. Light_Bringer777

    Light_Bringer777

    Joined:
    Aug 22, 2017
    Posts:
    3
    Hi, loving the asset so far, very clean.

    I was wondering if there was any easy way to adjust the "quality" of the effects. I'll be using the soft shadow of somewhat large text and for anything larger than a few pixels the current quality doesn't cut it.

    Can this be adjusted somehow?
     
  28. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi @Light_Bringer777,

    Thanks for using the plugin and for the positive feedback! :) Speaking about the quality of the soft shadow, there is no reasonable way to improve it, because Unity UI Texts are designed in the way that adding more "quality" to effects like this will strongly impact the performance. We've optimized the effects, so that they look good enough in a lot of situations, but are still usable. So, as long as the soft shadow uses a low value for blur, it will look good (even on large texts). But having a larger spread is, unfortunately, not an option :(
     
  29. AndreyMesheryakov

    AndreyMesheryakov

    Joined:
    Nov 25, 2016
    Posts:
    8
    Hello!

    Is anyone can help me with Inner Bevel effect?
    I created the object, I added "Text" component, assign Fancy-text material on them and added "Inner Bevel" component.

    But I can't see bevel effect. Why? What did I miss? Thanks!
    uieffect.jpg
     
  30. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi @AndreyMesheryakov,

    Is it possible that the bevel X and Y values are too small (or too big)? Can you try playing around with the values?
     
  31. AndreyMesheryakov

    AndreyMesheryakov

    Joined:
    Nov 25, 2016
    Posts:
    8
    Hello!

    Changes to bevel X and Y values do not change anything for me.
    Can you, please, make test scene with Inner Bevel effect for me?

    Have a nice day.
     
  32. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi @AndreyMesheryakov,

    There is a test scene included in the package :) It has all of the effects applied to different text fields. Let me know if you figure out the issue. Otherwise, it would be great to get a test project that shows the effect, which doesn't work.
     
  33. ryanflees

    ryanflees

    Joined:
    Nov 15, 2014
    Posts:
    59
    Hi, this might not be a question about your asset but, I was trying to make use text effect shader and bought your code to see how you achieve them.
    I'm trying to make pass some values from BaseMeshEffect to my text shader.
    It seems that the UIVertex's uv1, uv2, tangent and normal doesn't even work, the value of them I get in shader is always const, they don't seem any related to the values I set in ModifyMesh function. However UIVertex's color does work..
    But I see that you use uv1 in InnerOutline.cs
    Code (CSharp):
    1. int count = verts.Count;
    2.         UIVertex uiVertex;
    3.  
    4.         for (int i = 0; i < count; i++)
    5.         {
    6.             uiVertex = verts[i];
    7.  
    8.             if (uiVertex.uv1 == Vector2.zero)
    9.             {
    10.                 uiVertex.uv1 = new Vector2(1, 1);
    11.             }
    12.  
    13.             verts[i] = uiVertex;
    14.         }
    They do make difference if I delete the uv1code above. But when I write my code they just don't work at all. So did you have any trouble using uv1, uv2 like I do? Or maybe I missed something to make them functional?
     
  34. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi! In newer Unity versions you need to enable the parameters that you want to use in these effects. Try selecting the Canvas and then finding the Additional Shader Channels – then select the channels you want to use. Let me know if that helps :)
     
    ryanflees likes this.
  35. ryanflees

    ryanflees

    Joined:
    Nov 15, 2014
    Posts:
    59
    Thanks dude, that works!!!
     
  36. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    That's great! ;)
     
  37. smfukagawa

    smfukagawa

    Joined:
    Aug 1, 2017
    Posts:
    2
    Hi,

    Does this plugin support WebGL platform?
     
  38. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Yep! There's no reason for it to not support it :)
     
  39. smfukagawa

    smfukagawa

    Joined:
    Aug 1, 2017
    Posts:
    2
    Thanks! I bought this plugin last week.
     
  40. jamcityjiro

    jamcityjiro

    Joined:
    Jan 18, 2019
    Posts:
    2
    Will this be compatible with Unity 2018? Thanks
     
  41. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    Hi. Yes, it is! :)
     
  42. jamcityjiro

    jamcityjiro

    Joined:
    Jan 18, 2019
    Posts:
    2
    Thank you!
     
  43. sotia55

    sotia55

    Joined:
    Nov 5, 2015
    Posts:
    1
    Does this work with TextMesh?
     
  44. DominoOne

    DominoOne

    Joined:
    Apr 22, 2010
    Posts:
    433
    No, sorry, this is only for the Canvas Texts.
     
  45. turdann

    turdann

    Joined:
    Dec 29, 2012
    Posts:
    43
    Hello,

    We just updated one of our projects using this pluging to Unity 2019.3.a11 and it seems all texts which have an attached SoftShadow script are throwing errors, with the following output:

    Code (CSharp):
    1. ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
    2. Parameter name: index
    3. System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    4. System.ThrowHelper.ThrowArgumentOutOfRangeException () (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    5. System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
    6. UnityEngine.UI.Shadow.ApplyShadowZeroAlloc (System.Collections.Generic.List`1[T] verts, UnityEngine.Color32 color, System.Int32 start, System.Int32 end, System.Single x, System.Single y) (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/VertexModifiers/Shadow.cs:100)
    7. SoftShadow.ModifyMesh (UnityEngine.UI.VertexHelper vh) (at Assets/ThirdParty/ToJ Assets/UI Text Effects/SoftShadow.cs:95)
    8. UnityEngine.UI.Graphic.DoMeshGeneration () (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Graphic.cs:629)
    9. UnityEngine.UI.Graphic.UpdateGeometry () (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Graphic.cs:614)
    10. UnityEngine.UI.Text.UpdateGeometry () (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Text.cs:569)
    11. UnityEngine.UI.Graphic.Rebuild (UnityEngine.UI.CanvasUpdate update) (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Graphic.cs:572)
    12. UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at C:/Program Files/Unity/Hub/Editor/2019.3.0a11/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/CanvasUpdateRegistry.cs:210)
    13. UnityEngine.UI.ScrollRect:LateUpdate()
    Any chance this could be looked into?

    Thanks!
     
    tspersonal and victorbisaev like this.
  46. victorbisaev

    victorbisaev

    Joined:
    Nov 13, 2013
    Posts:
    2
    Please update us which of the latest Unity versions the plugin supports?

    Ok, UPDATE: it works on 2018.4.4f1
     
    Last edited: Mar 31, 2020
  47. noboRenelieSalazar

    noboRenelieSalazar

    Joined:
    Aug 3, 2021
    Posts:
    3
    Hi there, @DominoOne

    Your pack looks awesome.

    My team's use case is to reduce manual calibration when we localize our texts. That involves the usage of different fonts (and maybe sizes too). My team would like it very much if the curvature of the text stays the same even when the Font Asset and the Size are changed.

    Is this use case possible with your pack? I apologize for imposing on you, but if the answer is yes, may we have a demo video of it for confirmation before I suggest we buy the pack?
     
  48. tspersonal

    tspersonal

    Joined:
    Jul 26, 2019
    Posts:
    9
    Hi @DominoOne

    Will this be compatible with Unity 2019 or newer?

    I had the same Bug as Tom @turdann

    Believe me, many Asians are using this plugin...
     
  49. Lukisio

    Lukisio

    Joined:
    Jul 7, 2015
    Posts:
    4
    Having the same issue with SoftShadow.cs
    Any chance for an update to some modern Unity version?

    As a quick walkaround you may try to modify SoftShadow.cs like this:

    line 93:
    var start = Mathf.Clamp(neededVertsRangeStart, 0, end);
    ApplyShadowZeroAlloc(m_Verts, effectColorEdited, start, end, effectDistance.x, effectDistance.y);

    line 116:
    count = Mathf.Clamp(count, 0, count);
    List<UIVertex> rangeToBeMoved = m_Verts.GetRange(0, count);
     
    Last edited: Dec 15, 2021
  50. NSUSLAB_UnityPro

    NSUSLAB_UnityPro

    Joined:
    Jun 1, 2017
    Posts:
    1
    Hi, Can I apply this for Text mesh pro GUI?