gree/unity-webview


License: Zlib

Language: Objective-C


unity-webview

unity-webview is a plugin for Unity 5 that overlays WebView components on Unity view. It works on Android, iOS, Unity Web Player, and OS X (Windows is not supported for now).

unity-webview is derived from keijiro-san's https://github.com/keijiro/unity-webview-integration .

Sample Project

It is placed under sample/. You can open it and import the plugin as below:

  1. Open sample/Assets/Sample.unity.
  2. Open dist/unity-webview.unitypackage and import all files. It might be easier to extract dist/unity-webview.zip instead if you've imported unity-webview before.

Platform Specific Notes

OS X (Editor)

Since Unity 5.3.0, Unity.app is built with ATS (App Transport Security) enabled and non-secured connection (HTTP) is not permitted. If you want to open http://foo/bar.html with this plugin on Unity OS X Editor, you need to open /Applications/Unity5.3.4p3/Unity.app/Contents/Info.plist with a text editor and add the following,

--- Info.plist~	2016-04-11 18:29:25.000000000 +0900
+++ Info.plist	2016-04-15 16:17:28.000000000 +0900
@@ -57,5 +57,10 @@
 	<string>EditorApplicationPrincipalClass</string>
 	<key>UnityBuildNumber</key>
 	<string>b902ad490cea</string>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
 </dict>
 </plist>

or invoke the following from your terminal,

/usr/libexec/PlistBuddy -c "Add NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" /Applications/Unity/Unity.app/Contents/Info.plist

References

iOS

The implementation now supports WKWebView but it is disabled by default. For enabling it, please set enableWKWebView as below:

		webViewObject.Init(
            ...
            enableWKWebView: true);

Android

NOTE: the following steps are now performed by Assets/Plugins/Android/Editor/UnityWebViewPostprocessBuild.cs.

Once you built an apk, please copy sample/Temp/StatingArea/AndroidManifest-main.xml to sample/Assets/Plugins/Android/AndroidManifest.xml, edit the latter to add android:hardwareAccelerated="true" to <activity android:name="com.unity3d.player.UnityPlayerActivity" ..., and rebuilt the apk. Although some old/buggy devices may not work well with android:hardwareAccelerated="true", the WebView runs very smoothly with this setting.

Web Player

The implementation utilizes IFRAME so please put both "an_unityplayer_page.html" and "a_page_loaded_in_webview.html" should be placed on the same domain for avoiding cross-domain requests.

Project Statistics

Sourcerank 8
Repository Size 13.3 MB
Stars 963
Forks 399
Watchers 127
Open issues 113
Dependencies 0
Contributors 13
Tags 0
Created
Last updated
Last pushed

Top Contributors See all

Koji Nakamaru Kazuki Sakamoto Nobuki Yoda dolow Shinobu Izumi kuuki_yomenaio Mário Freitas Shinji Nakamatsu Akihiro Noguchi shinriyo hiroyuki eguchi Listiarso Wastuargo Simon Rodriguez

Interesting Forks See all

appbankgames/unity-webview
Objective-C - Other - Last pushed - 9 stars - 5 forks
tsubaki/unity-webview
Objective-C - Other - Updated - 2 stars
GeNERACE/unity-webview
C# - Other - Last pushed - 1 stars - 1 forks
RocketAlien/unity-webview
Objective-C - Other - Last pushed - 1 stars
602147629/unity-webview
C# - Updated - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2017-03-23 16:04:41 UTC

Login to resync this repository