{"id":13786559,"url":"https://github.com/mob-sakai/MeshEffectForTextMeshPro","last_synced_at":"2025-05-11T22:31:28.654Z","repository":{"id":41039278,"uuid":"159511155","full_name":"mob-sakai/MeshEffectForTextMeshPro","owner":"mob-sakai","description":"Mesh effect components for TextMeshPro in Unity.","archived":false,"fork":false,"pushed_at":"2019-01-25T01:52:05.000Z","size":17691,"stargazers_count":165,"open_issues_count":3,"forks_count":26,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2025-04-29T06:32:16.258Z","etag":null,"topics":["component","effects","support-textmeshpro","textmeshpro","ugui","ui","unity","unity3d"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mob-sakai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-28T14:02:44.000Z","updated_at":"2025-04-10T10:31:59.000Z","dependencies_parsed_at":"2022-09-20T20:51:55.407Z","dependency_job_id":null,"html_url":"https://github.com/mob-sakai/MeshEffectForTextMeshPro","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FMeshEffectForTextMeshPro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FMeshEffectForTextMeshPro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FMeshEffectForTextMeshPro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FMeshEffectForTextMeshPro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mob-sakai","download_url":"https://codeload.github.com/mob-sakai/MeshEffectForTextMeshPro/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253645198,"owners_count":21941312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["component","effects","support-textmeshpro","textmeshpro","ugui","ui","unity","unity3d"],"created_at":"2024-08-03T19:01:18.029Z","updated_at":"2025-05-11T22:31:23.633Z","avatar_url":"https://github.com/mob-sakai.png","language":"C#","readme":"MeshEffectForTextMeshPro\n===\n\n### NOTE: This project is experimental.\n### NOTE: This project will be integrated to [UIEffect](https://github.com/mob-sakai/UIEffect).\n\nMeshEffectForTextMeshPro provide visual effect components for TextMeshPro in Unity.\n\n![](https://user-images.githubusercontent.com/12690315/49157470-2dc50a80-f363-11e8-82b5-007a6ae04f2a.png)\n\n[![](https://img.shields.io/github/release/mob-sakai/MeshEffectForTextMeshPro.svg?label=latest%20version)](https://github.com/mob-sakai/MeshEffectForTextMeshPro/releases)\n[![](https://img.shields.io/github/release-date/mob-sakai/MeshEffectForTextMeshPro.svg)](https://github.com/mob-sakai/MeshEffectForTextMeshPro/releases)\n![](https://img.shields.io/badge/unity-5.5%2B-green.svg)\n[![](https://img.shields.io/github/license/mob-sakai/MeshEffectForTextMeshPro.svg)](https://github.com/mob-sakai/MeshEffectForTextMeshPro/blob/master/LICENSE.txt)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-orange.svg)](http://makeapullrequest.com)\n\n\u003c\u003c [Description](#Description) | [WebGL Demo](#demo) | [Download](https://github.com/mob-sakai/MeshEffectForTextMeshPro/releases) | [Usage](#usage) | [Example of using](#example-of-using) | [Development Note](#development-note) | [Change log](https://github.com/mob-sakai/MeshEffectForTextMeshPro/blob/master/CHANGELOG.md) \u003e\u003e\n\n### What's new? [See changelog ![](https://img.shields.io/github/release-date/mob-sakai/MeshEffectForTextMeshPro.svg?label=last%20updated)](https://github.com/mob-sakai/MeshEffectForTextMeshPro/blob/develop/CHANGELOG.md)\n### Do you want to receive notifications for new releases? [Watch this repo ![](https://img.shields.io/github/watchers/mob-sakai/MeshEffectForTextMeshPro.svg?style=social\u0026label=Watch)](https://github.com/mob-sakai/MeshEffectForTextMeshPro/subscription)\n\n\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n## Description\n\nDo you like TextMeshPro? I’m lovin’ it:)  \n\nAs you know, TextMeshPro, the ultimate text solution, is one of the greatest assets in Unity.  \nIt is more beautiful than the standard TextMesh and Text, it is highly functional and free.\n\nOne of the big mystery of TextMeshPro is that \"typical mesh effects (vertex effects) for uGUI can not be used for TextMeshPro\".  \nSince TextMeshPro does not call `IMeshModifier` interface, TextMeshPro ignores the typical mesh effects.  \nThe mesh effects of TextMeshPro (eg VertexJitter, VertexColorCycler etc) are very unique in their implementation and can only be used for TextMeshPro...\n\nI think that an easy way to implement a common mesh effect is necessary.\n\nThis project provides a base class for mesh effect.  \nIt works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI.  \nJust change your mesh effect a few places, it will support TextMeshPro!\n\nLet's decorate your TextMeshPro with effects!\n\n\n#### Features\n\n* Works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI.\n* Support multiple fonts.\n* There is no useless allocation.\n* Good performance.\n* You can implement MeshEffect with VertexHelper or Mesh.\n* Easily make your mesh effect support TextMeshPro. [See detail](#make-your-mesh-effect-support-textmeshpro)\n* If your project does not use TMPro, add \"NOT_USE_TMPRO\" symbol. Or uncomment the first line of BaseMeshEffect.cs.  \n```cs\n//#define NOT_USE_TMPRO // If your project does not use TMPro, uncomment this line.\n```\n\n\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n## Demo\n\n[WebGL Demo](http://mob-sakai.github.io/MeshEffectForTextMeshPro)\n\n\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n## Usage\n\n1. Download MeshEffectForTextMeshPro.unitypackage from [Releases](https://github.com/mob-sakai/MeshEffectForTextMeshPro/releases).\n2. Import the package into your Unity project. Select `Import Package \u003e Custom Package` from the `Assets` menu.  \n![](https://user-images.githubusercontent.com/12690315/46567584-3525f400-c970-11e8-9839-5c9e810b0b80.png)\n3. Add any effect component to TextMeshPro from `Add Component` in inspector or `Component \u003e MeshEffectForTextMeshPro \u003e ...` menu.  \n4. Adjust the parameters of the effect as you like, in inspector.  \n5. If your project does not use TMPro, add \"NOT_USE_TMPRO\" symbol. Or uncomment the first line of BaseMeshEffect.cs.  \n```cs\n//#define NOT_USE_TMPRO // If your project does not use TMPro, uncomment this line.\n```\n6. Enjoy!\n\n\n##### Requirement\n\n* Unity 5.5+ *(including Unity 2019.x)*\n* TextMeshPro v1.0.0+\n\n\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n## Development Note\n\n#### Make your mesh effect supports TextMeshPro\n\n1. Change the base class from `BaseMeshEffect` to `Coffee.UIExtensions.BaseMeshEffect`.\n```cs\n// Before\npublic class YourMeshEffect : BaseMeshEffect\nor\npublic class YourMeshEffect : MonoBehavior, IMeshModifier\n\n// After\npublic class YourMeshEffect : Coffee.UIExtensions.BaseMeshEffect\n```\n2. If you are using specific methods, override it properly.\n* OnEnable, OnDisable, LateUpdate, OnDidApplyAnimationProperties, OnValidate, ModifyMesh.\n* Call `base.xxx` except ModifyMesh.\n```cs\n// Before\nvoid OnEnable ()\n{\n    ...\n}\nvoid OnDisable ()\n{\n    ...\n}\n...\nvoid ModifyMesh (VertexHelper vh)\n{\n    ...\n}\n\n// After\nprotected override void OnEnable ()\n{\n    base.OnEnable();\n    ...\n}\nvoid OnDisable ()\n{\n    base.OnDisable();\n    ...\n}\n...\npublic override void ModifyMesh (VertexHelper vh)\n{\n    //base.ModifyMesh(vh);  \u003c- ModifyMesh's base method is unnecessary.\n    ...\n}\n```\n3. Change `graphic.SetVerticesDirty` to `SetVerticesDirty`\n```cs\n// Before\npublic bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; graphic.SetVerticesDirty(); } }\n\n// After\npublic bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty(); } }\n```\n4. If there are compile errors, remove them.\n\n\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n## License\n\n* MIT\n* © UTJ/UCL\n\n\n\n## Author\n\n[mob-sakai](https://github.com/mob-sakai)\n\n\n\n## See Also\n\n* GitHub page : https://github.com/mob-sakai/MeshEffectForTextMeshPro\n* Releases : https://github.com/mob-sakai/MeshEffectForTextMeshPro/releases\n* Issue tracker : https://github.com/mob-sakai/MeshEffectForTextMeshPro/issues\n* Current project : https://github.com/mob-sakai/MeshEffectForTextMeshPro/projects/1\n* Change log : https://github.com/mob-sakai/MeshEffectForTextMeshPro/blob/master/CHANGELOG.md\n","funding_links":[],"categories":["TextMesh Pro"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmob-sakai%2FMeshEffectForTextMeshPro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmob-sakai%2FMeshEffectForTextMeshPro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmob-sakai%2FMeshEffectForTextMeshPro/lists"}