Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thedoritos/unimgpicker
Image picker for Unity iOS/Android
https://github.com/thedoritos/unimgpicker
image-picker plugins unity
Last synced: 3 months ago
JSON representation
Image picker for Unity iOS/Android
- Host: GitHub
- URL: https://github.com/thedoritos/unimgpicker
- Owner: thedoritos
- License: mit
- Created: 2016-10-30T06:04:25.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-01-04T11:41:46.000Z (10 months ago)
- Last Synced: 2024-07-14T13:36:44.401Z (4 months ago)
- Topics: image-picker, plugins, unity
- Language: C#
- Homepage:
- Size: 41.9 MB
- Stars: 201
- Watchers: 17
- Forks: 46
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-unity-open-source-on-github - unimgpicker - Image picker for iOS/Android (iOS / Android)
README
# unimgpicker
Image picker for Unity iOS/Android
![unimgpicker_ios](Documentation~/res/unimgpicker_ios.gif)
![unimgpicker_android](Documentation~/res/unimgpicker_android.gif)## Getting Started
Import `unimgpicker.unitypackage` into your project.
:warning: For package developers: This project is under work to adapt with Package Manager. Please use `.unitypackage` until the migration is done.
Define Photo Library Usage Description on `Unimgpicker/Editor/NSPhotoLibraryUsageDescription.txt`
ex: **Unimgpicker/Editor/NSPhotoLibraryUsageDescription.txt**
```
Use the image to create your profile.
```## Demo
Read image, create texture and render it on the Cube(MeshRenderer).
```csharp
using UnityEngine;
using System.Collections;namespace Kakera
{
public class PickerController : MonoBehaviour
{
[SerializeField]
private Unimgpicker imagePicker;[SerializeField]
private MeshRenderer imageRenderer;void Awake()
{
// Unimgpicker returns the image file path.
imagePicker.Completed += (string path) =>
{
StartCoroutine(LoadImage(path, imageRenderer));
};
}public void OnPressShowPicker()
{
// With v1.1 or greater, you can set the maximum size of the image
// to save the memory usage.
imagePicker.Show("Select Image", "unimgpicker", 1024);
}private IEnumerator LoadImage(string path, MeshRenderer output)
{
var url = "file://" + path;
var www = new WWW(url);
yield return www;var texture = www.texture;
if (texture == null)
{
Debug.LogError("Failed to load texture url:" + url);
}output.material.mainTexture = texture;
}
}
}
```## Environment
The code is developed on following environments. Note that these are NOT minimum version requirements.
| Platform | OS | IDE |
| --- | --- | --- |
| iOS | 13.3 | Xcode 11.6 |
| Android | 10.0 (API 29) | Android Studio 4.0.1 |### Minimum SDK Versions
| Platform | SDK Version |
| --- | --- |
| Android | 6.0 (API 23) |## For Developers
### Running formatter
```sh
# If clang-format is installed.
$ make format# If docker is installed.
$ docker build -t unimgpicker .
$ docker run --rm -v $PWD:/build -w /build unimgpicker make format
```### Customize Unimgpicker by Self
Unimgpicker embedds Obj-C & Java code as Unity plugin.
You can make changes to the code.