├── LICENSE.txt ├── README.md ├── android ├── AndroidManifest.xml ├── ant.properties ├── build.xml ├── libs │ └── UnityClasses.jar ├── project.properties ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── layout │ │ └── main.xml │ └── values │ │ └── strings.xml └── src │ └── jp │ └── radiumsoftware │ └── unitywebviewexample │ └── ExtendedUnityPlayerActivity.java └── unity ├── Assets ├── GUI.meta ├── GUI │ ├── Default GUI SKin.guiskin │ ├── Default GUI SKin.guiskin.meta │ ├── SU3DJPFont.meta │ └── SU3DJPFont │ │ ├── Fonts.meta │ │ ├── Fonts │ │ ├── s1-mplus-1c-light.ttf │ │ └── s1-mplus-1c-light.ttf.meta │ │ ├── license.txt │ │ ├── license.txt.meta │ │ ├── readme.txt │ │ └── readme.txt.meta ├── Main.unity ├── Main.unity.meta ├── Materials.meta ├── Materials │ ├── Blue Box.mat │ ├── Blue Box.mat.meta │ ├── Floor.mat │ ├── Floor.mat.meta │ ├── Red Box.mat │ └── Red Box.mat.meta ├── Physics.meta ├── Physics │ ├── Default Physic Material.physicMaterial │ └── Default Physic Material.physicMaterial.meta ├── Plugins.meta ├── Plugins │ ├── Android.meta │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── AndroidManifest.xml.meta │ │ ├── WebViewIntegration.jar │ │ └── WebViewIntegration.jar.meta │ ├── WebMediator.cs │ ├── WebMediator.cs.meta │ ├── iOS.meta │ └── iOS │ │ ├── WebViewPlugin.mm │ │ └── WebViewPlugin.mm.meta ├── Prefabs.meta ├── Prefabs │ ├── Blue Box.prefab │ ├── Blue Box.prefab.meta │ ├── Red Box.prefab │ └── Red Box.prefab.meta ├── Scripts.meta ├── Scripts │ ├── Box.cs │ ├── Box.cs.meta │ ├── TestInterface.cs │ └── TestInterface.cs.meta ├── Textures.meta └── Textures │ ├── Board.png │ ├── Board.png.meta │ ├── Checker2.png │ └── Checker2.png.meta └── ProjectSettings ├── AudioManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── InputManager.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── ProjectSettings.asset ├── QualitySettings.asset ├── TagManager.asset └── TimeManager.asset /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Keijiro Takahashi 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | unity3d-webview-csharp 2 | ====================== 3 | 4 | ### Overview 5 | 6 | C# port of unity3d-webviw-integration sample on [unity-webview-integration](https://github.com/keijiro/unity-webview-integration). 7 | 8 | ### Howto 9 | 10 | #### Unity Side 11 | 12 | The original sample of keijiro's which is written with Unity's javascript can be found on [unity-webview-integration](https://github.com/keijiro/unity-webview-integration) 13 | 14 | See [Assets/Plugins/WebMediator.cs](https://github.com/kimsama/unity3d-webview-csharp/blob/master/unity/Assets/Plugins/WebMediator.cs) which does all the magic. It loads specified URL and can be specified page margin and so on. It also does pick message which is sent from webview. 15 | You can see for more details on [TestInterface.cs](https://github.com/kimsama/unity3d-webview-csharp/blob/master/unity/Assets/Scripts/TestInterface.cs) 16 | 17 | #### Webview side 18 | 19 | See the [index.html](https://github.com/keijiro/unity-webview-integration/blob/gh-pages/index.html) for the details. 20 | 21 | ### Test 22 | Tested on the following devices: 23 | 24 | #### iPhone 25 | * iPhone4s on iOS 6.1 (built with Xcode 4.6 on OSX 10.8.2) 26 | 27 | #### Android 28 | * Samsung Galuxy S2 29 | * Samsung Galuxy Note II 30 | (all built on OSX 10.8.2) 31 | 32 | ### License 33 | 34 | See the included LICENSE.txt. (same as [unity-webview-integration](https://github.com/keijiro/unity-webview-integration)) 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /android/ant.properties: -------------------------------------------------------------------------------- 1 | # This file is used to override default values used by the Ant build system. 2 | # 3 | # This file must be checked in Version Control Systems, as it is 4 | # integral to the build system of your project. 5 | 6 | # This file is only used by the Ant script. 7 | 8 | # You can use this to override default values such as 9 | # 'source.dir' for the location of your java source folder and 10 | # 'out.dir' for the location of your output folder. 11 | 12 | # You can also use it define how the release builds are signed by declaring 13 | # the following properties: 14 | # 'key.store' for the location of your keystore and 15 | # 'key.alias' for the name of the key to use. 16 | # The password will be asked during the build when you use the 'release' target. 17 | 18 | -------------------------------------------------------------------------------- /android/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 29 | 30 | 31 | 40 | 41 | 42 | 43 | 47 | 48 | 49 | 51 | 63 | 64 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /android/libs/UnityClasses.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/android/libs/UnityClasses.jar -------------------------------------------------------------------------------- /android/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | android.library=true 11 | # Project target. 12 | target=android-7 13 | -------------------------------------------------------------------------------- /android/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/android/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/android/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/android/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /android/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ACTIVITY_ENTRY_NAME 4 | 5 | -------------------------------------------------------------------------------- /android/src/jp/radiumsoftware/unitywebviewexample/ExtendedUnityPlayerActivity.java: -------------------------------------------------------------------------------- 1 | // UnityPlayerActivity and WebView integration 2 | 3 | package jp.radiumsoftware.unitywebviewexample; 4 | 5 | import com.unity3d.player.UnityPlayerActivity; 6 | 7 | import android.os.Bundle; 8 | import android.util.Log; 9 | import android.view.Gravity; 10 | import android.view.View; 11 | import android.view.ViewGroup.LayoutParams; 12 | import android.webkit.WebChromeClient; 13 | import android.webkit.WebSettings; 14 | import android.webkit.WebView; 15 | import android.webkit.WebViewClient; 16 | import android.widget.FrameLayout; 17 | import android.widget.ProgressBar; 18 | import java.lang.InterruptedException; 19 | import java.util.concurrent.SynchronousQueue; 20 | 21 | public class ExtendedUnityPlayerActivity extends UnityPlayerActivity { 22 | 23 | // JavaScript interface class for embedded WebView. 24 | private class JSInterface { 25 | public SynchronousQueue mMessageQueue; 26 | 27 | JSInterface() { 28 | mMessageQueue = new SynchronousQueue(); 29 | } 30 | 31 | public void pushMessage(String message) { 32 | Log.d("WebView", message); 33 | try { 34 | mMessageQueue.put(message); 35 | } catch (java.lang.InterruptedException e) { 36 | Log.d("WebView", "Queueing error - " + e.getMessage()); 37 | } 38 | } 39 | } 40 | 41 | private JSInterface mJSInterface; // JavaScript interface (message receiver) 42 | private WebView mWebView; // WebView object 43 | private ProgressBar mProgress; // Progress bar 44 | private int mLeftMargin; // Margins around the WebView 45 | private int mTopMargin; 46 | private int mRightMargin; 47 | private int mBottomMargin; 48 | private boolean mInitialLoad; // Initial load flag 49 | 50 | protected void onCreate(Bundle savedInstanceState) { 51 | super.onCreate(savedInstanceState); 52 | // Create a WebView and make layout. 53 | mWebView = new WebView(this); 54 | FrameLayout layout = new FrameLayout(this); 55 | addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 56 | layout.addView(mWebView, new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, Gravity.NO_GRAVITY)); 57 | // Basic settings of WebView. 58 | WebSettings webSettings = mWebView.getSettings(); 59 | webSettings.setSupportZoom(false); 60 | webSettings.setJavaScriptEnabled(true); 61 | webSettings.setPluginsEnabled(true); 62 | //webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); 63 | // Set a dummy WebViewClient (which enables loading a new page in own WebView). 64 | mWebView.setWebViewClient(new WebViewClient(){}); 65 | // Add a progress bar. 66 | mProgress = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); 67 | layout.addView(mProgress, new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, 5)); 68 | mProgress.setMax(100); 69 | mProgress.setVisibility(View.GONE); 70 | mWebView.setWebChromeClient(new WebChromeClient() { 71 | public void onProgressChanged(WebView view, int progress) { 72 | if (progress < 100) { 73 | mProgress.setVisibility(View.VISIBLE); 74 | mProgress.setProgress(progress); 75 | } else { 76 | mProgress.setVisibility(View.GONE); 77 | } 78 | } 79 | }); 80 | // Create a JavaScript interface and bind the WebView to it. 81 | mJSInterface = new JSInterface(); 82 | mWebView.addJavascriptInterface(mJSInterface, "UnityInterface"); 83 | // Start in invisible state. 84 | mWebView.setVisibility(View.GONE); 85 | } 86 | 87 | public void updateWebView(final String lastRequestedUrl, final boolean loadRequest, final boolean visibility, final int leftMargin, final int topMargin, final int rightMargin, final int bottomMargin) { 88 | // Process load requests. 89 | if (lastRequestedUrl != null && (loadRequest || !mInitialLoad)) { 90 | runOnUiThread(new Runnable() { 91 | public void run() { 92 | mWebView.loadUrl(lastRequestedUrl); 93 | } 94 | }); 95 | mInitialLoad = true; 96 | } 97 | // Process changes in margin amounts. 98 | if (leftMargin != mLeftMargin || topMargin != mTopMargin || rightMargin != mRightMargin || bottomMargin != mBottomMargin) { 99 | mLeftMargin = leftMargin; 100 | mTopMargin = topMargin; 101 | mRightMargin = rightMargin; 102 | mBottomMargin = bottomMargin; 103 | runOnUiThread(new Runnable() { 104 | public void run() { 105 | // Apply a new layout to the WebView. 106 | FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, Gravity.NO_GRAVITY); 107 | params.setMargins(mLeftMargin, mTopMargin, mRightMargin, mBottomMargin); 108 | mWebView.setLayoutParams(params); 109 | } 110 | }); 111 | } 112 | // Process changes in visibility. 113 | if (visibility != (mWebView.getVisibility() == View.VISIBLE)) { 114 | runOnUiThread(new Runnable() { 115 | public void run() { 116 | if (visibility) { 117 | // Show and set focus. 118 | mWebView.setVisibility(View.VISIBLE); 119 | mWebView.requestFocus(); 120 | } else { 121 | // Hide. 122 | mWebView.setVisibility(View.GONE); 123 | } 124 | } 125 | }); 126 | } 127 | } 128 | 129 | public String pollWebViewMessage() { 130 | return mJSInterface.mMessageQueue.poll(); 131 | } 132 | 133 | // Transparent background 134 | public void makeTransparentWebViewBackground() { 135 | mWebView.setBackgroundColor(Color.TRANSPARENT); 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /unity/Assets/GUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a3b1c6f5244d498e95e41026452dc53 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/GUI/Default GUI SKin.guiskin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/GUI/Default GUI SKin.guiskin -------------------------------------------------------------------------------- /unity/Assets/GUI/Default GUI SKin.guiskin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecaca87ebef4e4961ab66cf142175f61 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c7ff880dcb39c14199433ad6846d37b 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e26e0c931f64c44799647ea7fd00b96 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/Fonts/s1-mplus-1c-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/GUI/SU3DJPFont/Fonts/s1-mplus-1c-light.ttf -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/Fonts/s1-mplus-1c-light.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 596c1fd1351a65540b8f6baeb5c83ccb 3 | TrueTypeFontImporter: 4 | serializedVersion: 2 5 | fontSize: 16 6 | fontColor: {r: 1, g: 1, b: 1, a: 1} 7 | forceTextureCase: -1 8 | characterSpacing: 1 9 | characterPadding: 0 10 | includeFontData: 1 11 | use2xBehaviour: 0 12 | fontNames: 13 | - 14 | customCharacters: 15 | fontRenderingMode: 0 16 | userData: 17 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/license.txt: -------------------------------------------------------------------------------- 1 | LICENSE 2 | 3 | These fonts are free softwares. 4 | Unlimited permission is granted to use, copy, and distribute it, with or without modification, either commercially and noncommercially. 5 | THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY. 6 | 7 | これらのフォントはフリー(自由な)ソフトウエアです。 8 | あらゆる改変の有無に関わらず、また商業的な利用であっても、自由にご利用、複製、再配布することができますが、全て無保証とさせていただきます。 9 | 10 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/license.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 876dd09a256784345be2d6045b6571a3 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/readme.txt: -------------------------------------------------------------------------------- 1 |  2 | Selected U3D Japanese Fonts 05/17/2011 3 | 4 | ------------------------------------------------------------------------ 5 | # English 6 | 7 | Selected U3D Japanese Fonts is based on M+OUTLINE Font TESTFLIGHT039 M+C. 8 | Characters are selected so that it may fit in the optimal texture size for mobile devices. 9 | It can have the characters of the size of 25 points in the 1024x1024 texture size. 10 | 11 | The following groups are contained in this asset. 12 | 13 | * Hiragana 14 | * Katakana 15 | * Alphabet , Number , Mark 16 | * 1,006 Kanji taught in Japanese primary schools 17 | * 132 Kanji in Japan states name and game words 18 | 19 | All the lists of characters are recorded on "list.txt". 20 | 21 | A question, a request, etc. to Selected U3D Japanese Fonts should inform the following address. 22 | http://www.futurecartographer.com/ 23 | masashi_wada@dearna.com 24 | 25 | Refer to the following URL for the details about M+OUTLINE Fonts. 26 | http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html 27 | 28 | 29 | ------------------------------------------------------------------------ 30 | # Japanese ( 日本語 ) 31 | 32 | Selected U3D Japanese Fontsは M+OUTLINEフォントTESTFLIGHT039 M+Cを基盤にしています。 33 | 主にモバイル機器に最適な文字サイズとテクスチャサイズを両立するために、 34 | フォントに含む文字を以下に限定して再構成したTTFファイルです。 35 | これらの文字セットによって、1024x1024のテクスチャであっても、25ポイントまでの大きさを保てる特徴があります。 36 | 37 | ・ひらがな 38 | ・カタカナ 39 | ・アルファベット、数字、記号 40 | ・小学校6年生までの教育漢字(1006文字) 41 | ・都道府県表記、ゲーム用語に適した漢字 (132文字) 42 | 43 | フォントに含まれる全ての文字のリストは list.txt に記載しています。 44 | 45 |  Selected U3D Japanese Fontsに関する質問、要望などは次のアドレスに連絡をしてください。 46 | http://www.futurecartographer.com/ 47 | masashi_wada@dearna.com 48 | 49 | M+OUTLINEフォントに関する詳細は次のURLを参照してください。 50 | http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index.html 51 | 52 | -------------------------------------------------------------------------------- /unity/Assets/GUI/SU3DJPFont/readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a4f1ada9e7459344bc4acb002b22a4b 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Main.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Main.unity -------------------------------------------------------------------------------- /unity/Assets/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dd8fad3f211b4f50aaee8743a63da4e 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eacdd09aa755f4bf6b6531b7af53dad5 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Materials/Blue Box.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Materials/Blue Box.mat -------------------------------------------------------------------------------- /unity/Assets/Materials/Blue Box.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 905886db109bd4a36af150540c0bd0f1 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Materials/Floor.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Materials/Floor.mat -------------------------------------------------------------------------------- /unity/Assets/Materials/Floor.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e06bb986f1a7e4dc6841f7cb59aeef8e 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Materials/Red Box.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Materials/Red Box.mat -------------------------------------------------------------------------------- /unity/Assets/Materials/Red Box.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac8ade9aa523842fab3b893be999d08e 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Physics.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 046d56fdea7e34d05bbe1082f55a769d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Physics/Default Physic Material.physicMaterial: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Physics/Default Physic Material.physicMaterial -------------------------------------------------------------------------------- /unity/Assets/Physics/Default Physic Material.physicMaterial.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: daef168d6938746eda86db30cd78df40 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04a4b0667591a44f6a9cc634795749cf 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22aac9bb108084be8b2ffc5ec762342e 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 14 | 15 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/Android/AndroidManifest.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50bf13cedd20a49f3b2ef3e88cf13d4f 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/Android/WebViewIntegration.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Plugins/Android/WebViewIntegration.jar -------------------------------------------------------------------------------- /unity/Assets/Plugins/Android/WebViewIntegration.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7c70a5a63c81485394b0d18bbb7589a 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/WebMediator.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.InteropServices; 4 | 5 | public class WebMediator : MonoBehaviour 6 | { 7 | private static WebMediator instance; 8 | private static bool isClearCache; 9 | 10 | private string lastRequestedUrl; 11 | private bool loadRequest; 12 | private bool visibility; 13 | private int leftMargin; 14 | private int topMargin; 15 | private int rightMargin; 16 | private int bottomMargin; 17 | 18 | // Message container class. 19 | public class WebMediatorMessage 20 | { 21 | public string path; // Message path 22 | public Hashtable args; // Argument table 23 | 24 | public WebMediatorMessage(string rawMessage) 25 | { 26 | // Retrieve a path. 27 | var split = rawMessage.Split('?'); 28 | path = split[0]; 29 | // Parse arguments. 30 | args = new Hashtable(); 31 | if (split.Length > 1) 32 | { 33 | foreach (var pair in split[1].Split('&')) 34 | { 35 | var elems = pair.Split('='); 36 | args[elems[0]] = WWW.UnEscapeURL(elems[1]); 37 | } 38 | } 39 | } 40 | } 41 | 42 | // Use this for initialization 43 | void Start () { 44 | 45 | } 46 | 47 | // Update is called once per frame 48 | void Update () 49 | { 50 | UpdatePlatform(); 51 | instance.loadRequest = false; 52 | 53 | } 54 | 55 | // Install the plugin. 56 | // Call this at least once before using the plugin. 57 | public static void Install() 58 | { 59 | if (instance == null) 60 | { 61 | GameObject master = new GameObject("WebMediator"); 62 | DontDestroyOnLoad(master); 63 | instance = master.AddComponent(); 64 | 65 | InstallPlatform(); 66 | } 67 | } 68 | 69 | // Set margins around the web view. 70 | public static void SetMargin(int left, int top, int right, int bottom) 71 | { 72 | instance.leftMargin = left; 73 | instance.topMargin = top; 74 | instance.rightMargin = right; 75 | instance.bottomMargin = bottom; 76 | 77 | ApplyMarginsPlatform(); 78 | } 79 | 80 | // Visibility functions. 81 | public static void Show() 82 | { 83 | instance.visibility = true; 84 | } 85 | 86 | public static void Hide() 87 | { 88 | instance.visibility = false; 89 | } 90 | 91 | public static bool IsVisible() { 92 | return instance.visibility; 93 | } 94 | 95 | public static void SetClearCache() 96 | { 97 | isClearCache = true; 98 | } 99 | 100 | public static void SetCache() 101 | { 102 | isClearCache = false; 103 | } 104 | 105 | // Load the page at the URL. 106 | public static void LoadUrl(string url) 107 | { 108 | instance.lastRequestedUrl = url; 109 | instance.loadRequest = true; 110 | } 111 | 112 | #if UNITY_EDITOR 113 | // Unity Editor implementation. 114 | 115 | private static void InstallPlatform() { } 116 | private static void UpdatePlatform() { } 117 | private static void ApplyMarginsPlatform() { } 118 | public static WebMediatorMessage PollMessage() { return null; } 119 | public static void MakeTransparentWebViewBackground() { } 120 | #elif UNITY_IPHONE 121 | // iOS platform implementation. 122 | 123 | [DllImport ("__Internal")] static extern private void _WebViewPluginInstall(); 124 | [DllImport ("__Internal")] static extern private void _WebViewPluginLoadUrl(string url, bool isClearCache); 125 | [DllImport ("__Internal")] static extern private void _WebViewPluginSetVisibility(bool visibility); 126 | [DllImport ("__Internal")] static extern private void _WebViewPluginSetMargins(int left, int top, int right, int bottom); 127 | [DllImport ("__Internal")] static extern private string _WebViewPluginPollMessage(); 128 | [DllImport ("__Internal")] static extern private void _WebViewPluginMakeTransparentBackground(); 129 | 130 | private static bool viewVisibility; 131 | 132 | private static void InstallPlatform() 133 | { 134 | _WebViewPluginInstall(); 135 | } 136 | 137 | private static void ApplyMarginsPlatform() 138 | { 139 | _WebViewPluginSetMargins(instance.leftMargin, instance.topMargin, instance.rightMargin, instance.bottomMargin); 140 | } 141 | 142 | private static void UpdatePlatform() 143 | { 144 | if (viewVisibility != instance.visibility) 145 | { 146 | viewVisibility = instance.visibility; 147 | _WebViewPluginSetVisibility(viewVisibility); 148 | } 149 | if (instance.loadRequest) 150 | { 151 | instance.loadRequest = false; 152 | _WebViewPluginLoadUrl(instance.lastRequestedUrl, isClearCache); 153 | } 154 | } 155 | 156 | public static WebMediatorMessage PollMessage() 157 | { 158 | string message = _WebViewPluginPollMessage(); 159 | return !string.IsNullOrEmpty(message) ? new WebMediatorMessage(message) : null; 160 | } 161 | 162 | public static void MakeTransparentWebViewBackground() 163 | { 164 | _WebViewPluginMakeTransparentBackground(); 165 | } 166 | 167 | #elif UNITY_ANDROID 168 | // Android platform implementation. 169 | 170 | private static AndroidJavaClass unityPlayerClass; 171 | 172 | private static void InstallPlatform() 173 | { 174 | unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); 175 | } 176 | 177 | private static void ApplyMarginsPlatform() { } 178 | 179 | private static void UpdatePlatform() 180 | { 181 | var activity = unityPlayerClass.GetStatic("currentActivity"); 182 | activity.Call("updateWebView", instance.lastRequestedUrl != null ? instance.lastRequestedUrl : "", instance.loadRequest, instance.visibility, instance.leftMargin, instance.topMargin, instance.rightMargin, instance.bottomMargin); 183 | } 184 | 185 | public static WebMediatorMessage PollMessage() 186 | { 187 | var activity = unityPlayerClass.GetStatic("currentActivity"); 188 | var message = activity.Call("pollWebViewMessage"); 189 | return message!= null ? new WebMediatorMessage(message) : null; 190 | } 191 | 192 | public static void MakeTransparentWebViewBackground() 193 | { 194 | var activity = unityPlayerClass.GetStatic("currentActivity"); 195 | activity.Call("makeTransparentWebViewBackground"); 196 | } 197 | #endif 198 | 199 | } 200 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/WebMediator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20dbc5c658c8c45c2923ca8127dec811 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bde65d35751a4fa88830f764562c2bb 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/iOS/WebViewPlugin.mm: -------------------------------------------------------------------------------- 1 | // Web view integration plug-in for Unity iOS. 2 | 3 | #import 4 | 5 | extern UIViewController *UnityGetGLViewController(); // Root view controller of Unity screen. 6 | 7 | #pragma mark Plug-in Functions 8 | 9 | static UIWebView *webView; 10 | 11 | extern "C" void _WebViewPluginInstall() { 12 | // Add the web view onto the root view (but don't show). 13 | UIViewController *rootViewController = UnityGetGLViewController(); 14 | webView = [[UIWebView alloc] initWithFrame:rootViewController.view.frame]; 15 | webView.hidden = YES; 16 | [rootViewController.view addSubview:webView]; 17 | } 18 | 19 | extern "C" void _WebViewPluginMakeTransparentBackground() { 20 | [webView setBackgroundColor:[UIColor clearColor]]; 21 | [webView setOpaque:NO]; 22 | } 23 | 24 | extern "C" void _WebViewPluginLoadUrl(const char* url, Boolean isClearCache) { 25 | if (isClearCache) { 26 | [[NSURLCache sharedURLCache] removeAllCachedResponses]; 27 | } 28 | [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithUTF8String:url]]]]; 29 | } 30 | 31 | extern "C" void _WebViewPluginSetVisibility(bool visibility) { 32 | webView.hidden = visibility ? NO : YES; 33 | } 34 | 35 | extern "C" void _WebViewPluginSetMargins(int left, int top, int right, int bottom) { 36 | UIViewController *rootViewController = UnityGetGLViewController(); 37 | 38 | CGRect frame = rootViewController.view.frame; 39 | CGFloat scale = rootViewController.view.contentScaleFactor; 40 | 41 | CGRect screenBound = [[UIScreen mainScreen] bounds]; 42 | CGSize screenSize = screenBound.size; 43 | // Obtaining the current device orientation 44 | UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; 45 | 46 | // landscape 47 | if (UIDeviceOrientationIsLandscape(orientation)) { 48 | frame.size.width = screenSize.height - (left + right) / scale; 49 | frame.size.height = screenSize.width - (top + bottom) / scale; 50 | } else { // portrait 51 | frame.size.width = screenSize.width - (left + right) / scale; 52 | frame.size.height = screenSize.height - (top + bottom) / scale; 53 | } 54 | 55 | frame.origin.x += left / scale; 56 | frame.origin.y += top / scale; 57 | 58 | webView.frame = frame; 59 | } 60 | 61 | extern "C" char *_WebViewPluginPollMessage() { 62 | // Try to retrieve a message from the message queue in JavaScript context. 63 | NSString *message = [webView stringByEvaluatingJavaScriptFromString:@"unityWebMediatorInstance.pollMessage()"]; 64 | if (message && message.length > 0) { 65 | NSLog(@"UnityWebViewPlugin: %@", message); 66 | char* memory = static_cast(malloc(strlen(message.UTF8String) + 1)); 67 | if (memory) strcpy(memory, message.UTF8String); 68 | return memory; 69 | } else { 70 | return NULL; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /unity/Assets/Plugins/iOS/WebViewPlugin.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fd761aa32d674f48b76101ac5cf8971 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9eb3019c10b364779925ef1ec161fb47 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Blue Box.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Prefabs/Blue Box.prefab -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Blue Box.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1a1ab85a23cd4ce1bdd3731ac0ab9dd 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Red Box.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Prefabs/Red Box.prefab -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Red Box.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74768062b89004afb801f11a7a523ca1 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f9ab5fa22bd84d038705e7f6d302a8f 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/Box.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class Box : MonoBehaviour 5 | { 6 | // Update is called once per frame 7 | void Update () 8 | { 9 | if (transform.position.y < -2.0) Destroy(gameObject); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/Box.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca57f15e3287449a2a775fea0d3a72c4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/TestInterface.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class TestInterface : MonoBehaviour 5 | { 6 | public GUISkin guiSkin; 7 | public GameObject redBoxPrefab; 8 | public GameObject blueBoxPrefab; 9 | 10 | private string note; 11 | 12 | // Use this for initialization 13 | void Start () 14 | { 15 | WebMediator.Install(); 16 | } 17 | 18 | // Update is called once per frame 19 | void Update () 20 | { 21 | if (WebMediator.IsVisible()) 22 | { 23 | ProcessMessages(); 24 | } 25 | else if (Input.GetButtonDown("Fire1") && Input.mousePosition.y < Screen.height / 2) 26 | { 27 | ActivateWebView(); 28 | } 29 | } 30 | 31 | // Show the web view (with margins) and load the index page. 32 | private void ActivateWebView() 33 | { 34 | WebMediator.LoadUrl("http://keijiro.github.com/unity-webview-integration/index.html"); 35 | WebMediator.SetMargin(12, Screen.height / 2 + 12, 12, 12); 36 | WebMediator.Show(); 37 | } 38 | 39 | // Hide the web view. 40 | private void DeactivateWebView() 41 | { 42 | WebMediator.Hide(); 43 | // Clear the state of the web view (by loading a blank page). 44 | WebMediator.LoadUrl("about:blank"); 45 | } 46 | 47 | // Process messages coming from the web view. 48 | private void ProcessMessages() 49 | { 50 | while (true) 51 | { 52 | // Poll a message or break. 53 | WebMediator.WebMediatorMessage message = WebMediator.PollMessage(); 54 | if (message == null) break; 55 | 56 | if (message.path == "/spawn") 57 | { 58 | GameObject prefab = null; 59 | 60 | // "spawn" message. 61 | if (message.args.ContainsKey("color")) 62 | { 63 | prefab = (message.args["color"] == "red") ? redBoxPrefab : blueBoxPrefab; 64 | } 65 | else 66 | { 67 | prefab = Random.value < 0.5 ? redBoxPrefab : blueBoxPrefab; 68 | } 69 | 70 | var box = Instantiate(prefab, redBoxPrefab.transform.position, Random.rotation) as GameObject; 71 | if (message.args.ContainsKey("scale")) 72 | { 73 | box.transform.localScale = Vector3.one * float.Parse(message.args["scale"] as string); 74 | } 75 | } 76 | else if (message.path == "/note") 77 | { 78 | // "note" message. 79 | note = message.args["text"] as string; 80 | } 81 | else if (message.path == "/print") 82 | { 83 | // "print" message. 84 | var text = message.args["line1"] as string; 85 | if (message.args.ContainsKey("line2")) 86 | { 87 | text += "\n" + message.args["line2"] as string; 88 | } 89 | Debug.Log(text); 90 | Debug.Log("(" + text.Length + " chars)"); 91 | } 92 | else if (message.path == "/close") 93 | { 94 | // "close" message. 95 | DeactivateWebView(); 96 | } 97 | } 98 | } 99 | 100 | void OnGUI() 101 | { 102 | int sw = Screen.width; 103 | int sh = Screen.height; 104 | GUI.skin = guiSkin; 105 | if (!string.IsNullOrEmpty(note)) GUI.Label(new Rect(0, 0, sw, 0.5f * sh), note); 106 | GUI.Label(new Rect(0, 0.5f * sh, sw, 0.5f * sh), "TAP HERE", "center"); 107 | } 108 | 109 | } 110 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/TestInterface.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1887651a164942098bf6a0eea571de1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /unity/Assets/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28e2e9674dd404ef6ab51022aef57fc0 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /unity/Assets/Textures/Board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Textures/Board.png -------------------------------------------------------------------------------- /unity/Assets/Textures/Board.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9953bd5259dc48cc95acccd0f8c1228 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: -1 34 | buildTargetSettings: [] 35 | userData: 36 | -------------------------------------------------------------------------------- /unity/Assets/Textures/Checker2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/Assets/Textures/Checker2.png -------------------------------------------------------------------------------- /unity/Assets/Textures/Checker2.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a94bba682ebe648c08416aff1b18ad2e 3 | TextureImporter: 4 | serializedVersion: 2 5 | mipmaps: 6 | mipMapMode: 0 7 | enableMipMap: 1 8 | linearTexture: 0 9 | correctGamma: 0 10 | fadeOut: 0 11 | borderMipMap: 0 12 | mipMapFadeDistanceStart: 1 13 | mipMapFadeDistanceEnd: 3 14 | bumpmap: 15 | convertToNormalMap: 0 16 | externalNormalMap: 0 17 | heightScale: .25 18 | normalMapFilter: 0 19 | isReadable: 0 20 | grayScaleToAlpha: 0 21 | generateCubemap: 0 22 | seamlessCubemap: 0 23 | textureFormat: -1 24 | maxTextureSize: 1024 25 | textureSettings: 26 | filterMode: -1 27 | aniso: -1 28 | mipBias: -1 29 | wrapMode: -1 30 | nPOTScale: 1 31 | lightmap: 0 32 | compressionQuality: 50 33 | textureType: 0 34 | buildTargetSettings: 35 | - buildTarget: iPhone 36 | maxTextureSize: 128 37 | textureFormat: -3 38 | compressionQuality: 50 39 | userData: 40 | -------------------------------------------------------------------------------- /unity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/NavMeshLayers.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kimsama/unity3d-webview-csharp/0e7eece7dfbf3a28c8461796dbbe19a36533ca61/unity/ProjectSettings/TimeManager.asset --------------------------------------------------------------------------------