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/#