NATIVE PLUGINS for Unity: iOS, Android [Need Prime31 / Easy Mobile / Stans Assets replacement??]

Cross Platform Native Plugins : Essential Kit V2 is out now and available on Asset Store.
Version 1 vs Version 2


For existing 1.x Users
If you are upgrading from version 1.x, please follow this guide.
Existing users can upgrade at a huge discount of more than 50%

Cross Platform Native Plugins 2.0 : Essential Kit a true cross platform tool for Unity which provides unique and unified way to access native functionality on mobile platforms.

The new 2.0 version is a complete re-write from scratch which communicates directly with native platforms and has much efficient workflow. Additionally, we revised some parts of the API for extendability and ease of use considering your feedback!

Supports mobile platforms iOS (v10.0 and above), Android (API 14 and above).

Important links:
Unity Forum Thread | Tutorials | Support

Highlights:
• Unified API design.
• Hassle-free installation.
• No need of having knowledge on native platform services.
• Simulates most feature behaviours on Editor.
• Automatically generates Android Manifest file and permissions as per feature usage.
• Automatically adds required capabilities on iOS.
• Selective inclusion of feature files.
• Complete ASMDEF!
• Full source code is included.
• Detailed tutorials with native platform setup (video tutorials soon)
• Unity cloud build and batch mode compatible

Feature set:
• Address Book
• Billing
• Cloud Services
• Deep Link Services (New!)
• Game Services
• Mail Sharing
• Message Sharing
• Media Library Services
• Native UI Popups (Alert Dialog, Date/Time Picker (New!)
• Network Connectivity
• Local Notification System
• Push Notification System
• Rate My App (Android Rating - New!)
• Social Sharing (Fb, Twitter, WhatsApp)
• Share Sheet
• WebView

Note:
• Plugin doesn’t include Facebook SDK.
• Works with Unity Cloud Build.

You might be interested in our other products
Cross Platform Easy Save
Cross Platform Replay Kit
Cross Platform Snapchat Kit
Cross Platform Story Kit(Instagram)

We love to hear from you! Contact us, share your feedback, suggestions to our team.

2 Likes

Thanks a lot to the users who are supporting us by choosing our product! Hope you guys like it!

Hi Guys, playing with your plugin and having a little problem , what I
am doing wrong ? :slight_smile:

Using Unity 5 & Mac & Default settings, created empty project and
using your DemoScene.

On Amazon FIRE HD Tablet PickImage from Camera does not launch the
Camera at all.

Log mentions something about:
Unable to acquire context: EGL_BAD_NATIVE_WINDOW: A NativeWindowType
argument does not refer to a valid native window.

ON HTC One , Camera is launched and taking photo but returning only
Image picker was closed, reason = FAILED message without texture.

Any ideas?

Thanks for the help

Hi JariHuomo,
Thanks for writing to us. We are looking into the issue currently.
Could you paste us the log for HTC one if you don’t mind?

Thankyou.

Seems like some kind of permission problem:
/HTCCamera(12454): saveAndFinish() - contentUri = ‘content://com.voxelbusters.nativeplugins.fileprovider/SHARING_DIR/mediaPicker-camera-image.jpg’

E/HTCCamera(12454): saveAndFinish() - Cannot save data to ‘content://com.voxelbusters.nativeplugins.fileprovider/SHARING_DIR/mediaPicker-camera-image.jpg’

E/HTCCamera(12454): java.lang.SecurityException: Permission Denial: opening provider com.voxelbusters.nativeplugins.extensions.FileProviderExtended from ProcessRecord{42c8bcd8 12454:com.htc.camera/u0a303} (pid=12454, uid=10303) that is not exported from uid 10493

E/HTCCamera(12454): at android.os.Parcel.readException(Parcel.java:1474)

E/HTCCamera(12454): at android.os.Parcel.readException(Parcel.java:1428)

E/HTCCamera(12454): at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3037)

E/HTCCamera(12454): at android.app.ActivityThread.acquireProvider(ActivityThread.java:5224)

E/HTCCamera(12454): at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2469)

E/HTCCamera(12454): at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1448)

E/HTCCamera(12454): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:929)

E/HTCCamera(12454): at android.content.ContentResolver.openOutputStream(ContentResolver.java:692)

E/HTCCamera(12454): at android.content.ContentResolver.openOutputStream(ContentResolver.java:668)

E/HTCCamera(12454): at com.htc.camera.HTCCamera.saveAndFinish(HTCCamera.java:3044)

E/HTCCamera(12454): at com.htc.camera.HTCCamera.returnRequestedMedia(HTCCamera.java:2981)

E/HTCCamera(12454): at com.htc.camera.actionscreen.RequestActionScreen.onDoneClicked(RequestActionScreen.java:73)

E/HTCCamera(12454): at com.htc.camera.actionscreen.RequestActionScreen.access$000(RequestActionScreen.java:21)

E/HTCCamera(12454): at com.htc.camera.actionscreen.RequestActionScreen$1.onClick(RequestActionScreen.java:192)

E/HTCCamera(12454): at android.view.View.performClick(View.java:4470)

E/HTCCamera(12454): at android.view.View$PerformClick.run(View.java:18593)

E/HTCCamera(12454): at android.os.Handler.handleCallback(Handler.java:733)

E/HTCCamera(12454): at android.os.Handler.dispatchMessage(Handler.java:95)

E/HTCCamera(12454): at android.os.Looper.loop(Looper.java:157)

E/HTCCamera(12454): at android.app.ActivityThread.main(ActivityThread.java:5867)

E/HTCCamera(12454): at java.lang.reflect.Method.invokeNative(Native Method)

E/HTCCamera(12454): at java.lang.reflect.Method.invoke(Method.java:515)

E/HTCCamera(12454): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)

E/HTCCamera(12454): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)

E/HTCCamera(12454): at dalvik.system.NativeStart.main(Native Method)

D/Event (12454): [HTCCamera.SelfFinishing] rasing

D/Event (12454): [HTCCamera.SelfFinishing] raised

W/ActivityManager( 744): Permission Denial: opening provider com.voxelbusters.nativeplugins.extensions.FileProviderExtended from ProcessRecord{42c8bcd8 12454:com.htc.camera/u0a303} (pid=12454, uid=10303) that is not exported from uid 10493

On iOS a little problem too. It is taking a photo, but it does not let user to change crop position

Hi @JariHuomo ,

iOS issue
We cross checked with Apple’s sample code and even it has the same functionality. So this seems like a default behaviour on iOS.

Android Issue
Can you please share info about the Android version installed in your HTC and Amazon FIRE HD Tablet. We are currently looking into this and please check our forum for updates on this issue.

Hi @JariHuomo ,
Thanks for your time. As we don’t have direct access to Amazon device, got a bit late. Thanks to Amazon cloud testing!
We see Amazon devices need explicit Camera permission which isn’t a requirement for many devices.

On this occasion, we would like to add a new feature in the next release. Have a look at the attachment rough sketch for getting the idea on how we can make it easier for permissions part. This will help a lot in avoiding editing Manifest file.

Hope you love it :).

We will send you a private message on the fixes and update in forum as well. We include these in the coming update which will have the new features as early as we can.

2081791--136064--PermissionSelector.png

DOWNLOAD LITE VERSION FOR FREE !!!

We would like everyone to experience ease of coding to access native features using our plugin. So our team had decided to release lite version of plugin and we are pleased to announce that Lite Version of Native Plugins package is approved by Unity and currently live @ Asset Store. So hurry up and download a new copy of Lite Version for free!!!

Download link: Unity Asset Store - The Best Assets for Game Making

IMPORTANT NOTE FOR LITE VERSION USERS!!!

Follow these instructions before exporting Full Version package
Step 1: Delete “Assets/VoxelBusters/NativePlugins” folder.
Step 2: Delete “smcs.rsp”, “gmcs.rsp”, “us.rsp”, “boo.rsp” files from your Assets directory.
Step 3: Thats it. Now you can import our full version package.

Great asset. I’m using the ultra package for push notifications and it works great after clarifying few things from author + author is very responsive with support. Highly recommended

Thanks @Cromfeli for your kind words :slight_smile: We are glad that you liked our product :slight_smile:

NEW UPDATES RELEASED!!!
Cross Platform Native Plugins v1.03 is released and available for download @ Unity Asset Store.

Release Notes:
[Android] Added new features for Notification customization. Now can configure LargeIcon and Custom Sound
[Android] Pick Image and Camera access fixes on Android 4.4 versions. Thanks to Kino Lam for reporting!
[Android] Network Data Usage fix. Thanks to @Cromfeli for reporting!
[Android] Now for sharing files, it picks external directory if available. Else it will use content provider.
Changed from hostName to IPAddress in NetoworkConnectivity.
Added method to initialize Network Connectivity instead of making default call.
Some Minor bug fixes.

Important:
Delete package folders before updating.

IMPORTANT NOTE FOR LITE VERSION USERS!!!

Few hours back, Kapolas Alexandros reported build issue on iOS platform and on investigating, we found that we had forgot to remove few native iOS files which are functional only on full version. So apologies for the inconvenience caused for our Lite Version users.

Good news is that, we have already submitted the package with the required fixes and its currently under review. We will keep you updated regarding its status. And for those who want a fix immediately, please contact us at support@voxelbusters.com and we will share the unofficial package.

Guys, If you liked our product then please share your opinion and ratings at Unity Asset Store. And incase if you are not happy, then please contact us at support@voxelbusters.com share your feedback and pointers for improving this product and help us to make it better.

We at VB, graciously accept compliment as well as criticism for our work, as it helps us to push ourselves towards excellence :slight_smile:

1 Like

Lite Version: New Updates!!!
Please download the latest version of the plugin from AssetStore.

Release Notes:

  • Removed unused libraries from lite version package, which caused build errors on iOS platform. Thanks to Kapolas Alexandros for reporting.

Important:

  • Delete package folders before updating.

Hi I just bought this but there is no documentation on how to use it that I can see. All I can find is a link to the forum that talks about a step by step that isn’t ready yet and a couple of assets in the folder for changing settings, and a link to a DOxygen documentation website. Where are the tutorials to set this up?

Hi @PsychoPsam ,
Integration for iOS is plug and play.
For Android Integration, please replace PASTE_BUILD_IDENTIFIER_HERE with your build identifier. You can find Manifest file under Assets/Plugins/Android/Native-Plugins_Lib folder. If you already have a root manifest, please make sure you have the required flags mentioned in AndroidManifest_root_activity_settings_sample.txt file. [ http://inft.ly/3bHCHZ8 ]

Please let us know if you see any other issue while using the plugin. Please shoot a mail [ support@voxelbusters.com ]if you have any questions.

We are currently working on tutorials and will be up soon.

Please download the work in progress tutorials from here [ http://inft.ly/3dAYzXX ]. Sorry for the inconvenience.

Great News Guys!!! Next Version of CPNP will include Android Manifest auto-generation support. Using this functionality, CPNP will auto generate Android Manifest based on native features you choose to use within your game. And is even capable of tracking Player Settings changes and updates Android Manifest accordingly. This makes CPNP completely Plug n Play.

Currently these changes are in test phase and a new update will be rolled out in few days.

Can I Share a screenshot with this plugin!? Thanks