{"id":13786080,"url":"https://github.com/xiaobin83/Unity3D.EmojiText","last_synced_at":"2025-05-11T22:30:43.540Z","repository":{"id":136641946,"uuid":"89071505","full_name":"xiaobin83/Unity3D.EmojiText","owner":"xiaobin83","description":"EmojiText in Unity3D","archived":false,"fork":false,"pushed_at":"2018-01-13T21:46:57.000Z","size":5942,"stargazers_count":40,"open_issues_count":1,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-17T22:36:02.866Z","etag":null,"topics":["emoji","ui","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/xiaobin83.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-22T13:25:00.000Z","updated_at":"2024-09-10T02:24:49.000Z","dependencies_parsed_at":"2024-01-17T05:29:41.901Z","dependency_job_id":null,"html_url":"https://github.com/xiaobin83/Unity3D.EmojiText","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobin83%2FUnity3D.EmojiText","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobin83%2FUnity3D.EmojiText/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobin83%2FUnity3D.EmojiText/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobin83%2FUnity3D.EmojiText/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaobin83","download_url":"https://codeload.github.com/xiaobin83/Unity3D.EmojiText/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253645076,"owners_count":21941311,"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":["emoji","ui","unity3d"],"created_at":"2024-08-03T19:01:09.220Z","updated_at":"2025-05-11T22:30:38.514Z","avatar_url":"https://github.com/xiaobin83.png","language":"C#","readme":" Untiy3D.EmojiText\n\n![EmojiText](EmojiText.png)\n\n\n## EmojiText\n\n+ Extends from UnityEngine.UI.Text\n+ Has the same performance if no EmojiConfig attached.\n+ Layout handled by UnityEngine.UI.Text, only replaces UVs of generated text mesh. Thus you can use RichText to change size and color of text. (Emoji sprite wont change color. I disabled it. And you also need to set sizeFactor in EmojiConfig to 1)\n+ No sub GameObject needed (actually need one for attaching CanvasRenderer). Use CanvasRenderer to render emoji mesh.\n+ Support hyperlink click event with markdown link syntax. `[ClickMe](link_to_some_place)`\n+ Support pre-defined text by markdown predefined text syntax. \\`predefined text\\`. And predefined text replacements delegates to `EmojiText.willInsertBackOnePredefinedString`.\n+ Support escape character by input \\uxxxxx directly.\n+ Generate your own EmojiConfig with different emojis by using AltasBaker in Emoji -\u003e Atlas Baker (you can use altas baker for other stuff, it reports all UVs and names to AtlasBakerWizard.OnAtlasBaked)\n+ Works in edit mode.\n\n\n## Quick setup\n1. Copy Unity3D.EmojiText to your own Assets folder\n2. Create GameObject under Canvas\n3. Attach EmojiText component to the GameObject just created\n4. Drag and drop asset `Unity3D.EmojiText/EmojiConfig` to Config field\n\n![EmojiConfig](EmojiText_01.png)\n\n5. Now you have emoji text with all TwitterEmoji characters.\n6. If you want to handle hyperlink (markdown syntax), just add some Href On Clicked Event\n7. Check `scn_demo` for more details.\n8. Unity3D 5.3.x has bugs in InputField with emoji charaters, plz check `EmojiTouchScreenInputField.cs` for details (i just copy from UnityEngine.UI and did some fix).\n\n## Create your own emoji characters\n1. Create folder in your project. (like `Assets/MyEmoji`)\n2. Copy your emoji sprites to this folder. The name of sprite should be the unicode of character. If you want to replace `A` with emoji sprite, just put a `41.png` to MyEmoji folder\n\n![EmojiConfig_02_a](EmojiText_02_a.png)\n\n3. Add EmojiText component to a GameObject without assigning EmojiConfig, you can see `Create Config` button in Inspector\n\n![EmojiConfig_02_b](EmojiText_02_b.png)\n\n4. Press `Create Config` button, you will get a EmojiConfig.asset in Assets folder\n\n![EmojiConfig_02_c](EmojiText_02_c.png)\n\n5. Select EmojiConfig.asset. You can see \n\n\n![EmojiConfig_02_d](EmojiText_02_d.png)\n\n6. Click `Create Atlas` and in the Atlas tool box, put path to `Asset/MyEmoji` in path to texture field, and then press `Atlas` button\n\n![EmojiConfig_02](EmojiText_02.png)\n\n7. Now you will atlas texture and correct emoji config with character `A`\n\n![EmojiConfig_03](EmojiText_03.png)\n![EmojiConfig_04](EmojiText_04.png)\n![EmojiConfig_05](EmojiText_05.png)\n\n8. If you want to add more emoji character to exist config, you can add multiple paths in atlas step\n\n![EmojiConfig_06](EmojiText_06.png)\n\n\n\n\n## License\n\nTwitterEmoji comes from [Twemoji project](https://github.com/twitter/twemoji). It licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/). And I copied from [Unity-UI-emoji](https://github.com/mcraiha/Unity-UI-emoji). \n\nIdea and some part of code come from [Unity-UI-emoji](https://github.com/mcraiha/Unity-UI-emoji), I changed it to fit my implementation.\n\n## Misc\n\nsteam: 0x600d1dea\n\n","funding_links":[],"categories":["Text"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobin83%2FUnity3D.EmojiText","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaobin83%2FUnity3D.EmojiText","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobin83%2FUnity3D.EmojiText/lists"}