Essential Kit : Mobile (iOS, Android) [Need Prime31 / Easy Mobile / Stans Assets replacement?]

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

Supports mobile platforms iOS 15+ (till iOS 17, iOS 18 in progress) | Android 21+ ( till API 35)

:tada: As promised, all customers get Ads Kit v1 for Free - No Code Required!

:star2: 450+ five-star reviews | Used by 25,000+ developers worldwide


What’s new!
Version 3 vs Version 2 | Upgrade from V2 | Release Notes

For any questions related to upgrade please contact our support


Important links

Unity Forum Thread | Tutorials | API Reference | Support

Highlights

• Unified API design | Never write code per platform

• Easy installation

• No knowledge of native platform services is required

• Simulate most feature behavior in the Editor

• Generate Android manifest and permissions as per feature usage

• Automatically adds required capabilities on iOS

• Only select features you need

• Complete ASMDEF

• Full source code is included

• Detailed tutorials with native platform setup

• Unity cloud build and batch mode compatible

• Actively supported since 2015

Features

Address Book - Access contacts of the user

  • Read contacts from user’s address book

  • Apply constraints to have certain attributes like email, phone number etc

  • Supports pagination

App Updater - Prompt version updates to user

  • Fetch if any updates available for the app

  • Prompt user to update either forcefully or optionally

Billing Services (IAP) - Privacy First In-App purchases

  • Fetch Product details from store

  • Supports Consumable and Non-Consumable products

  • Supports Subscriptions

  • Supports multiple offers per subscription

  • Restore purchases

  • Uses latest Store Kit v2 on iOS and Billing Client 7.1.1 on Android

Cloud Services - Save data in the cloud (iCloud & Saved Games)

  • Sync data across devices for free

  • Auto syncs based on app lifecycle

  • Multiple data types supported (long, string, byte array…)

Deep Link Services - Connect your content/screen with a url

  • Supports Universal links (or App Links)

  • Supports Schemes

  • Seamless access for deep link data

Extras (Utilities)

  • Open application settings

  • Open store page

Game Services - Let your players compete!

  • Authentication (Game Center on iOS, Google Play Services on Android)

  • Submit scores in leaderboards

  • Report progress for achievements

  • Custom leaderboards & Achievements user-interface support

  • Attach tags (context) to leaderboard scores

Media Services - Interact with media content

  • Select media content

  • Capture media content

  • Save media content

  • Permission-less implementation (where ever applicable)

  • Multiple media content types supported

Native UI - Native alerts

  • Alert dialogs

  • Date Picker and Time Picker

Network Services - Know online status

  • Access network connection status

  • Event based

Notification Services - Notify users

  • Local notifications

  • Remote/Push notifications

  • Time based trigger support

  • Calendar based trigger support

  • Custom payload keys support

  • Repeat scheduling allowed

  • Retains scheduled notifications after reboot

Rate My App - Get ratings

  • Auto trigger based on prior settings

  • Prompt store rating dialog to users

  • Pre-confirmation dialog support

Sharing - Share content

  • Generic share sheet support

  • Message sharing

  • Mail sharing

  • Social sharing (Facebook, Whatsapp, Twitter)

  • Multiple attachments support

Web View - Access browser within Unity

  • Load local webpages

  • Load remote urls

  • Dimensions control

  • Javascript evaluation support

  • Receive messages from web page to unity

  • Native camera and file dialog access support

Note:

• Plugin doesn’t include Facebook SDK.

• Works with Unity Cloud Build.

• You need to add “com.unity.nuget.newtonsoft-json”: “2.0.0” in Packages/manifest.json

You might be interested in our other products

Cross Platform Ads Kit (FREE with Essential Kit)

Cross Platform Screen Recorder Kit

Easy ML Kit

Reporting Kit

Cross Platform Snapchat Kit

Cross Platform Story Kit(Instagram)

Third Party Plugins Compatibility

• Plays nicely with Anti-Cheat Toolkit

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