Unity4で動作していたNative PluginがUnity5で動作しない場合、以下を確認するとよいです。

・Androidのライブラリ名の確認

Unity4までは、Native Pluginの名前がlibhoge.soだった場合、[DllImport("libhoge")]でも[DllImport("hoge")]でも動作しました。対して、Unity5では[DllImport("hoge")]でないと動作しなくなりました。

・iOSのStatic Link Libraryのビルドオプションの確認

Unity4までは、Static Link LibraryのビルドにGNUのlibstdc++を使う必要がありました。対して、Unity5ではLLVMのlibc++を使用する必要があり、libstdc++ではリンクエラーが発生します。Unity5向けにlibc++を使用するには、Static Link Libaryのビルド時に、clangに-stdlib=libc++を追加してビルドする必要があります。

Unity5自身もUnity製のStatic Link Libraryを使用しているため、Unity5の書き出したXcodeのプロジェクトファイルをlibstdc++を使用するように書き換えてもリンクエラーが発生します。

既存のライブラリのリビルドが必要で、外部ライブラリを使用している場合は、わりと大変かもしれません。ただ、libstdc++に比べて、libc++はC++11対応など近代化が進んでいるので、移行する価値はあるかと思います。

・アドレス空間のオーバフローの確認

Native Pluginへの引数にIntPtr.ToInt32()+hogeとしている場合、64bitアドレスにデータが配置された場合にオーバフローが発生します。IntPtr.ToInt32をIntPtr.ToInt64に変更することで対処します。