{"id":22472531,"url":"https://github.com/ericbatlle/unityandroidnativetoolkit","last_synced_at":"2026-04-25T16:33:38.315Z","repository":{"id":50359079,"uuid":"291370543","full_name":"EricBatlle/UnityAndroidNativeToolkit","owner":"EricBatlle","description":"🧰 Native Android functionalities for Unity in one unique plugin!","archived":false,"fork":false,"pushed_at":"2020-08-30T16:01:08.000Z","size":5052,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T16:23:41.078Z","etag":null,"topics":["android","android-camera","android-dialog","android-plugin","native","native-android","plugin","text-to-speech","toast","tts","unity","unity-android","unity3d"],"latest_commit_sha":null,"homepage":"","language":"ShaderLab","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/EricBatlle.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}},"created_at":"2020-08-30T00:18:28.000Z","updated_at":"2022-07-28T12:05:43.000Z","dependencies_parsed_at":"2022-09-06T16:22:43.949Z","dependency_job_id":null,"html_url":"https://github.com/EricBatlle/UnityAndroidNativeToolkit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/EricBatlle/UnityAndroidNativeToolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricBatlle%2FUnityAndroidNativeToolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricBatlle%2FUnityAndroidNativeToolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricBatlle%2FUnityAndroidNativeToolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricBatlle%2FUnityAndroidNativeToolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EricBatlle","download_url":"https://codeload.github.com/EricBatlle/UnityAndroidNativeToolkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricBatlle%2FUnityAndroidNativeToolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["android","android-camera","android-dialog","android-plugin","native","native-android","plugin","text-to-speech","toast","tts","unity","unity-android","unity3d"],"created_at":"2024-12-06T12:16:03.541Z","updated_at":"2026-04-25T16:33:38.300Z","avatar_url":"https://github.com/EricBatlle.png","language":"ShaderLab","funding_links":["https://www.buymeacoffee.com/ebatlleclavero","https://github.com/sponsors/EricBatlle","https://paypal.me/EricBatlleClavero?locale.x=es_ES"],"categories":[],"sub_categories":[],"readme":"# UnityAndroidNativeToolkit 🧰\n*Created by Eric Batlle Clavero*\n \nThis **Android App** made with **Unity** includes a complete **AndroidToolkit plugin** to allow Unity to **use native Android OS** features such as taking shots with the camera, pop dialogs, pick contacts, etc..\n\nThis repository is divided in 2 parts:\n\n- Unity Project (**C#**)\n- Android Plugin (**Java**)\n\n## Example 🎬\n\n\u003cp\u003e\n  \u003cimg src=\"UnityNativeToolkitImg.PNG\" alt=\"simple video gif\" width=\"246\" height=\"512\"/\u003e\n\u003c/p\u003e\n\n*This image shows all UnityAndroidNativeToolkit features UI.*\n\n## Donations are appreciated! 💸\n*Remember that are many ways to say thank you.*\n\nIf this plugin has been helpful remember to star the repository and consider buying me a coffee! 😀 \n\u003cp\u003e\n\u003ca href=\"https://www.buymeacoffee.com/ebatlleclavero\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-blue.png\" alt=\"Buy Me A Coffee\" width=\"144.6\" height=\"34\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nIf you like my general work and contributions consider [sponsoring me on Github](https://github.com/sponsors/EricBatlle). \n\nBut if you just want to donate straightforward, I also have [PayPal.me](https://paypal.me/EricBatlleClavero?locale.x=es_ES).\n\n## How to Use ⚙️\n\nIf you want to test the app, you can download the APK from [here](https://github.com/EricBatlle/UnityAndroidNativeToolkit/releases/download/v1.0/UnityNativeToolkit_1.0.apk).\n\nIf you want to open the project and check the code, you need to have **Unity** and **AndroidStudio** installed and updated.\n\nIf you want to scratch the code:\n\n- To check **Unity** project, **open the project**, select **NativeToolkit** scene.\nEither inside the unity project or simply dragging the **.cs** classes on your editor, you have to watch the classes located on ``UnityNativeToolkit/Assets/Scripts``. \n- To check **Android Plugin** you can do it opening the solution with **AndroidStudio** and checking the classes located in ``UnityNativeToolkitPlugin_Android\\NativeToolkit\\src\\main\\java\\com\\eric\\nativetoolkit``.\n\nApp Functionality is simple, just press the feature button you want to test. Some features like Dialogs also have toggles to specify some parameters.\n\n\nOn code side, the only thing to keep in mind is to make a Script (like ``NativeToolkit.cs`` in the example) that has a reference to ``NativeToolkitPlugin`` and initialize the plugin doing: \n```csharp\npluginReferenceVariable = NativeToolkitPlugin.GetPlatformPluginVersion(this.gameObject.name);\n```\n\nFrom here you can call all plugin features simply calling ``pluginReferenceVariable.`` and the feature you want, like \n```csharp\npluginReferenceVariable.TakeShot()\n```\n\nIf you don't want to implement all features callbacks, remember to only implement the desired feature interface, like ``INativeCamera``, instead of ``INativeToolkitPlugin``. This last one implements all features interfaces.\n\n## Features 🧰\n\n- **Camera\u0026Media**\n\t- Take and Visualize Shots with device camera\n\t- Save those shots into gallery or private directory\n\t- Pick and Visualize photos from gallery\n- **Dialogs**\n\t- Show Alert Dialog\n\t- Show Date picker Dialog\n\t- Show Time picker Dialog\n\t- Show Rate app Dialog\n\t- Select how many buttons (positive, negative and neutral) appear on dialogs\n- **Toast**\n\t- Show Toast message\n\t- Customize duration and position of the toast\n- **Contacts**\n\t- Pick Contact\n- **Sharing**\n\t- Share Text\n\t- Share Image\n- **SpeechRecognizer**\n\t- Recognize voice commands\n\t- Recognize voice commands continuously\n- **TextToSpeech (TTS)**\n\t- Speak text\n\t- Select language and country for the speaking voice\n\n## Multiple plugins support 🔌\n\nThis plugin has been made following a **fragment-pattern** to avoid errors that can be derived from extending *UnityPlayerActivity*.\n\nThis way you can integrate this plugin with your projects even if they already have more plugins. **Truly pluggable**.\n\nIf you already have imported on your project the library ``core-1.3.1.aar`` or similar, remember to remove it, or remove the plugin one.\n\n## Upgrading dependencies 📜\n\nKeep in mind that the actual release ([v1.0](https://github.com/EricBatlle/UnityAndroidNativeToolkit/releases/download/v1.0/UnityNativeToolkit_1.0.apk)) of the plugin works with **AndroidX** dependencies. That means that is targeting **Android 9** (API level 28).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericbatlle%2Funityandroidnativetoolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericbatlle%2Funityandroidnativetoolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericbatlle%2Funityandroidnativetoolkit/lists"}