Unity Native Plugins

2 min. read

Introduction

Educate
Dynamically Linked Library - DLL
Managed and Unmanaged plugins

Extensions which are seen as plugins
.dll
.winmd
.so
.xex
.def
.suprx
.rpl
.cpp
.cc
.c
.jslib
.jspre
.bc
.bundle

Android
.jar
.aar

iOS
.h
.a
.m
.mm
.swift
.xib
.framework (folder)

All plugins must go inside Plugins folder.
Managed plugins (DLL)
Works on all platforms
Use Visual Studio to create a Library DLL
Example: C# DLL
Unmanaged plugins (Native Plugins)
Used when you want to access low level devices.
C++, Objective C, C, etc…

.mm extension stands for Objective-C++, when compiler can process C++ classes.
But when using .m extension it will be able to compile only C code, without C++ classes.

iOS Imports all DLL as one DLL, which is called __Internal. Anything else, the name of the DLL should be used

Examples

Execute

References
https://docs.unity3d.com/Manual/NativePlugins.html

https://docs.unity3d.com/Manual/PluginsForIOS.html

Basic iOS Log
http://gaminno.com/en/tech-mag/techniques/gamedev-vr-ar-techniques/tutorial-unity-ios-native-plugin/

Unity Video
https://www.youtube.com/watch?v=DfRYLwG1Bug

https://www.youtube.com/watch?v=RijTC0g70M0&list=PL8x9vbWgXt_2IRvkvLvsEyMTUwsGkINAM

https://www.youtube.com/watch?v=ZjyK37dKdtQ

http://blogs.shephertz.com/2014/02/05/writing-native-ios-and-android-unity-plugins/#

http://twnkls.com/2016/04/11/creating-native-plugins-for-unity3d/

https://medium.com/@rolir00li/integrating-native-ios-code-into-unity-e844a6131c21

https://stackoverflow.com/questions/14834626/how-to-build-unity3d-plugin-for-ios

http://blog.ashwanik.in/2014/04/ios-plugin-for-unity3d.html

http://blogs.shephertz.com/2014/02/05/writing-native-ios-and-android-unity-plugins/#

https://docs.unity3d.com/Manual/iphone-GettingStarted.html