├── .gitignore
├── .vscode
└── settings.json
├── Assets
├── Editor.meta
├── Editor
│ ├── XcodePostBuild
│ └── XcodePostBuild.meta
├── Plugins.meta
├── Plugins
│ ├── Android.meta
│ ├── Android
│ │ ├── AndroidManifest.xml
│ │ ├── AndroidManifest.xml.meta
│ │ ├── WebVIewLib.jar
│ │ └── WebVIewLib.jar.meta
│ ├── iOS.meta
│ └── iOS
│ │ ├── WebView.mm
│ │ └── WebView.mm.meta
├── Scenes.meta
├── Scenes
│ ├── WebViewExample.unity
│ └── WebViewExample.unity.meta
├── WebView.cs
└── WebView.cs.meta
├── LICENSE
├── MarkdownImages
├── AExample01.png
├── AExample02.png
├── Image01.png
├── Image02.png
├── Image03.png
├── Image04.png
├── Image05.png
├── Image06.png
├── Image07.png
└── iExample01.png
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
└── UnityConnectSettings.asset
├── Readme.md
└── UnityPackageManager
└── manifest.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # github/gitignore
2 | # https://github.com/github/gitignore/blob/master/Unity.gitignore
3 |
4 | /[Ll]ibrary/
5 | /[Tt]emp/
6 | /[Oo]bj/
7 | /[Bb]uild/
8 | /[Bb]uilds/
9 | /Assets/AssetStoreTools*
10 |
11 | # Visual Studio 2015 cache directory
12 | /.vs/
13 |
14 | # Autogenerated VS/MD/Consulo solution and project files
15 | ExportedObj/
16 | .consulo/
17 | *.csproj
18 | *.unityproj
19 | *.sln
20 | *.suo
21 | *.tmp
22 | *.user
23 | *.userprefs
24 | *.pidb
25 | *.booproj
26 | *.svd
27 | *.pdb
28 |
29 | # Unity3D generated meta files
30 | *.pidb.meta
31 |
32 | # Unity3D Generated File On Crash Reports
33 | sysinfo.txt
34 |
35 | # Builds
36 | *.apk
37 | *.unitypackage
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude":
3 | {
4 | "**/.DS_Store":true,
5 | "**/.git":true,
6 | "**/.gitignore":false,
7 | "**/.gitmodules":true,
8 | "**/*.booproj":true,
9 | "**/*.pidb":true,
10 | "**/*.suo":true,
11 | "**/*.user":true,
12 | "**/*.userprefs":true,
13 | "**/*.unityproj":true,
14 | "**/*.dll":true,
15 | "**/*.exe":true,
16 | "**/*.pdf":true,
17 | "**/*.mid":true,
18 | "**/*.midi":true,
19 | "**/*.wav":true,
20 | "**/*.gif":true,
21 | "**/*.ico":true,
22 | "**/*.jpg":true,
23 | "**/*.jpeg":true,
24 | "**/*.png":false,
25 | "**/*.psd":true,
26 | "**/*.tga":true,
27 | "**/*.tif":true,
28 | "**/*.tiff":true,
29 | "**/*.3ds":true,
30 | "**/*.3DS":true,
31 | "**/*.fbx":true,
32 | "**/*.FBX":true,
33 | "**/*.lxo":true,
34 | "**/*.LXO":true,
35 | "**/*.ma":true,
36 | "**/*.MA":true,
37 | "**/*.obj":true,
38 | "**/*.OBJ":true,
39 | "**/*.asset":true,
40 | "**/*.cubemap":true,
41 | "**/*.flare":true,
42 | "**/*.mat":true,
43 | "**/*.meta":true,
44 | "**/*.prefab":true,
45 | "**/*.unity":true,
46 | "build/":true,
47 | "Build/":true,
48 | "Library/":true,
49 | "library/":true,
50 | "obj/":true,
51 | "Obj/":true,
52 | "ProjectSettings/":true,
53 | "temp/":true,
54 | "Temp/":true
55 | }
56 | }
--------------------------------------------------------------------------------
/Assets/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c3b3e5e25db1d475ba28ad403b33872a
3 | folderAsset: yes
4 | timeCreated: 1515568371
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Editor/XcodePostBuild:
--------------------------------------------------------------------------------
1 | /*
2 | MIT License
3 |
4 | Copyright (c) 2017 Jiulong Wang
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 | */
24 |
25 | #if UNITY_IOS
26 |
27 | using System;
28 | using System.Linq;
29 | using System.Collections.Generic;
30 | using System.IO;
31 | using System.Text;
32 |
33 | using UnityEngine;
34 | using UnityEditor;
35 | using UnityEditor.Callbacks;
36 | using UnityEditor.iOS.Xcode;
37 |
38 | ///
39 | /// Adding this post build script to Unity project enables Unity iOS build output to be embedded
40 | /// into existing Xcode Swift project.
41 | ///
42 | /// However, since this script touches Unity iOS build output, you will not be able to use Unity
43 | /// iOS build directly in Xcode. As a result, it is recommended to put Unity iOS build output into
44 | /// a temporary directory that you generally do not touch, such as '/tmp'.
45 | ///
46 | /// In order for this to work, necessary changes to the target Xcode Swift project are needed.
47 | /// Especially the 'AppDelegate.swift' should be modified to properly initialize Unity.
48 | /// See https://github.com/jiulongw/swift-unity for details.
49 | ///
50 | public static class XcodePostBuild
51 | {
52 | ///
53 | /// Path to the root directory of Xcode project.
54 | /// This should point to the directory of '${XcodeProjectName}.xcodeproj'.
55 | /// It is recommended to use relative path here.
56 | /// Current directory is the root directory of this Unity project, i.e. the directory of 'Assets' folder.
57 | /// Sample value: "../xcode"
58 | ///
59 | private const string XcodeProjectRoot = "../xcode";
60 |
61 | ///
62 | /// Name of the Xcode project.
63 | /// This script looks for '${XcodeProjectName} + ".xcodeproj"' under '${XcodeProjectRoot}'.
64 | /// Sample value: "DemoApp"
65 | ///
66 | private const string XcodeProjectName = "Unity-iPhone";
67 |
68 | ///
69 | /// Directories, relative to the root directory of the Xcode project, to put generated Unity iOS build output.
70 | ///
71 | private const string ClassesProjectPath = XcodeProjectName + "/Unity/Classes";
72 | private const string LibrariesProjectPath = XcodeProjectName + "/Unity/Libraries";
73 |
74 | ///
75 | /// Path, relative to the root directory of the Xcode project, to put information about generated Unity output.
76 | ///
77 | private const string ExportsConfigProjectPath = XcodeProjectName + "/Unity/Exports.xcconfig";
78 |
79 | private const string PbxFilePath = XcodeProjectName + ".xcodeproj/project.pbxproj";
80 |
81 | private const string BackupExtension = ".bak";
82 |
83 | ///
84 | /// The identifier added to touched file to avoid double edits when building to existing directory without
85 | /// replace existing content.
86 | ///
87 | private const string TouchedMarker = "https://github.com/jiulongw/swift-unity#v1";
88 |
89 | [PostProcessBuild]
90 | public static void OnPostBuild(BuildTarget target, string pathToBuiltProject)
91 | {
92 | if (target != BuildTarget.iOS)
93 | {
94 | return;
95 | }
96 |
97 | PatchUnityNativeCode(pathToBuiltProject);
98 |
99 | UpdateUnityIOSExports(pathToBuiltProject);
100 |
101 | UpdateUnityProjectFiles(pathToBuiltProject);
102 | }
103 |
104 | ///
105 | /// Writes current Unity version and output path to 'Exports.xcconfig' file.
106 | ///
107 | private static void UpdateUnityIOSExports(string pathToBuiltProject)
108 | {
109 | var config = new StringBuilder();
110 | config.AppendFormat("UNITY_RUNTIME_VERSION = {0};", Application.unityVersion);
111 | config.AppendLine();
112 | config.AppendFormat("UNITY_IOS_EXPORT_PATH = {0};", pathToBuiltProject);
113 | config.AppendLine();
114 |
115 | var configPath = Path.Combine(XcodeProjectRoot, ExportsConfigProjectPath);
116 | var configDir = Path.GetDirectoryName(configPath);
117 | if (!Directory.Exists(configDir))
118 | {
119 | Directory.CreateDirectory(configDir);
120 | }
121 |
122 | File.WriteAllText(configPath, config.ToString());
123 | }
124 |
125 | ///
126 | /// Enumerates Unity output files and add necessary files into Xcode project file.
127 | /// It only add a reference entry into project.pbx file, without actually copy it.
128 | /// Xcode pre-build script will copy files into correct location.
129 | ///
130 | private static void UpdateUnityProjectFiles(string pathToBuiltProject)
131 | {
132 | var pbx = new PBXProject();
133 | var pbxPath = Path.Combine(XcodeProjectRoot, PbxFilePath);
134 | pbx.ReadFromFile(pbxPath);
135 |
136 | ProcessUnityDirectory(
137 | pbx,
138 | Path.Combine(pathToBuiltProject, "Classes"),
139 | Path.Combine(XcodeProjectRoot, ClassesProjectPath),
140 | ClassesProjectPath);
141 |
142 | ProcessUnityDirectory(
143 | pbx,
144 | Path.Combine(pathToBuiltProject, "Libraries"),
145 | Path.Combine(XcodeProjectRoot, LibrariesProjectPath),
146 | LibrariesProjectPath);
147 |
148 | pbx.WriteToFile(pbxPath);
149 | }
150 |
151 | ///
152 | /// Update pbx project file by adding src files and removing extra files that
153 | /// exists in dest but not in src any more.
154 | ///
155 | /// This method only updates the pbx project file. It does not copy or delete
156 | /// files in Swift Xcode project. The Swift Xcode project will do copy and delete
157 | /// during build, and it should copy files if contents are different, regardless
158 | /// of the file time.
159 | ///
160 | /// The pbx project.
161 | /// The directory where Unity project is built.
162 | /// The directory of the Swift Xcode project where the
163 | /// Unity project is embedded into.
164 | /// The prefix of project path in Swift Xcode
165 | /// project for Unity code files. E.g. "DempApp/Unity/Classes" for all files
166 | /// under Classes folder from Unity iOS build output.
167 | private static void ProcessUnityDirectory(PBXProject pbx, string src, string dest, string projectPathPrefix)
168 | {
169 | var targetGuid = pbx.TargetGuidByName(XcodeProjectName);
170 |
171 | // newFiles: array of file names in build output that do not exist in project.pbx manifest.
172 | // extraFiles: array of file names in project.pbx manifest that do not exist in build output.
173 | // Build output files that already exist in project.pbx manifest will be skipped to minimize
174 | // changes to project.pbx file.
175 | string[] newFiles, extraFiles;
176 | CompareDirectories(src, dest, out newFiles, out extraFiles);
177 |
178 | foreach (var f in newFiles)
179 | {
180 | if (ShouldExcludeFile(f))
181 | {
182 | continue;
183 | }
184 |
185 | var projPath = Path.Combine(projectPathPrefix, f);
186 | if (!pbx.ContainsFileByProjectPath(projPath))
187 | {
188 | var guid = pbx.AddFile(projPath, projPath);
189 | pbx.AddFileToBuild(targetGuid, guid);
190 |
191 | Debug.LogFormat("Added file to pbx: '{0}'", projPath);
192 | }
193 | }
194 |
195 | foreach (var f in extraFiles)
196 | {
197 | var projPath = Path.Combine(projectPathPrefix, f);
198 | if (pbx.ContainsFileByProjectPath(projPath))
199 | {
200 | var guid = pbx.FindFileGuidByProjectPath(projPath);
201 | pbx.RemoveFile(guid);
202 |
203 | Debug.LogFormat("Removed file from pbx: '{0}'", projPath);
204 | }
205 | }
206 | }
207 |
208 | ///
209 | /// Compares the directories. Returns files that exists in src and
210 | /// extra files that exists in dest but not in src any more.
211 | ///
212 | private static void CompareDirectories(string src, string dest, out string[] srcFiles, out string[] extraFiles)
213 | {
214 | srcFiles = GetFilesRelativePath(src);
215 |
216 | var destFiles = GetFilesRelativePath(dest);
217 | var extraFilesSet = new HashSet(destFiles);
218 |
219 | extraFilesSet.ExceptWith(srcFiles);
220 | extraFiles = extraFilesSet.ToArray();
221 | }
222 |
223 | private static string[] GetFilesRelativePath(string directory)
224 | {
225 | var results = new List();
226 |
227 | if (Directory.Exists(directory))
228 | {
229 | foreach (var path in Directory.GetFiles(directory, "*", SearchOption.AllDirectories))
230 | {
231 | var relative = path.Substring(directory.Length).TrimStart('/');
232 | results.Add(relative);
233 | }
234 | }
235 |
236 | return results.ToArray();
237 | }
238 |
239 | private static bool ShouldExcludeFile(string fileName)
240 | {
241 | if (fileName.EndsWith(".bak", StringComparison.OrdinalIgnoreCase))
242 | {
243 | return true;
244 | }
245 |
246 | return false;
247 | }
248 |
249 | ///
250 | /// Make necessary changes to Unity build output that enables it to be embedded into existing Xcode project.
251 | ///
252 | private static void PatchUnityNativeCode(string pathToBuiltProject)
253 | {
254 | EditMainMM(Path.Combine(pathToBuiltProject, "Classes/main.mm"));
255 | EditUnityAppControllerH(Path.Combine(pathToBuiltProject, "Classes/UnityAppController.h"));
256 | EditUnityAppControllerMM(Path.Combine(pathToBuiltProject, "Classes/UnityAppController.mm"));
257 |
258 | if (Application.unityVersion == "2017.1.1f1")
259 | {
260 | EditMetalHelperMM(Path.Combine(pathToBuiltProject, "Classes/Unity/MetalHelper.mm"));
261 | }
262 |
263 | if (Application.unityVersion == "2017.3.0f3")
264 | {
265 | EditSplashScreenMM(Path.Combine(pathToBuiltProject, "Classes/UI/SplashScreen.mm"));
266 | }
267 | }
268 |
269 | ///
270 | /// Edit 'main.mm': removes 'main' entry that would conflict with the Xcode project it embeds into.
271 | ///
272 | private static void EditMainMM(string path)
273 | {
274 | EditCodeFile(path, line =>
275 | {
276 | if (line.TrimStart().StartsWith("int main", StringComparison.Ordinal))
277 | {
278 | return line.Replace("int main", "int old_main");
279 | }
280 |
281 | return line;
282 | });
283 | }
284 |
285 | ///
286 | /// Edit 'UnityAppController.h': returns 'UnityAppController' from 'AppDelegate' class.
287 | ///
288 | private static void EditUnityAppControllerH(string path)
289 | {
290 | var inScope = false;
291 | var markerDetected = false;
292 | var markerAdded = false;
293 |
294 | EditCodeFile(path, line =>
295 | {
296 | markerDetected |= line.Contains(TouchedMarker);
297 | inScope |= line.Contains("inline UnityAppController");
298 |
299 | if (inScope && !markerDetected)
300 | {
301 | if (line.Trim() == "}")
302 | {
303 | inScope = false;
304 |
305 | return new string[]
306 | {
307 | "// }",
308 | "",
309 | "NS_INLINE UnityAppController* GetAppController()",
310 | "{",
311 | " NSObject* delegate = [UIApplication sharedApplication].delegate;",
312 | @" UnityAppController* currentUnityController = (UnityAppController*)[delegate valueForKey: @""currentUnityController""];",
313 | " return currentUnityController;",
314 | "}",
315 | };
316 | }
317 |
318 | if (!markerAdded)
319 | {
320 | markerAdded = true;
321 | return new string[]
322 | {
323 | "// Modified by " + TouchedMarker,
324 | "// " + line,
325 | };
326 | }
327 |
328 | return new string[] { "// " + line };
329 | }
330 |
331 | return new string[] { line };
332 | });
333 | }
334 |
335 | ///
336 | /// Edit 'UnityAppController.mm': triggers 'UnityReady' notification after Unity is actually started.
337 | ///
338 | private static void EditUnityAppControllerMM(string path)
339 | {
340 | var inScope = false;
341 | var markerDetected = false;
342 |
343 | EditCodeFile(path, line =>
344 | {
345 | inScope |= line.Contains("- (void)startUnity:");
346 | markerDetected |= inScope && line.Contains(TouchedMarker);
347 |
348 | if (inScope && line.Trim() == "}")
349 | {
350 | inScope = false;
351 |
352 | if (markerDetected)
353 | {
354 | return new string[] { line };
355 | }
356 | else
357 | {
358 | return new string[]
359 | {
360 | " // Modified by " + TouchedMarker,
361 | " // Post a notification so that Swift can load unity view once started.",
362 | @" [[NSNotificationCenter defaultCenter] postNotificationName: @""UnityReady"" object:self];",
363 | "}",
364 | };
365 | }
366 | }
367 |
368 | return new string[] { line };
369 | });
370 | }
371 |
372 | ///
373 | /// Edit 'MetalHelper.mm': fixes a bug (only in 2017.1.1f1) that causes crash.
374 | ///
375 | private static void EditMetalHelperMM(string path)
376 | {
377 | var markerDetected = false;
378 |
379 | EditCodeFile(path, line =>
380 | {
381 | markerDetected |= line.Contains(TouchedMarker);
382 |
383 | if (!markerDetected && line.Trim() == "surface->stencilRB = [surface->device newTextureWithDescriptor: stencilTexDesc];")
384 | {
385 | return new string[]
386 | {
387 | "",
388 | " // Modified by " + TouchedMarker,
389 | " // Default stencilTexDesc.usage has flag 1. In runtime it will cause assertion failure:",
390 | " // validateRenderPassDescriptor:589: failed assertion `Texture at stencilAttachment has usage (0x01) which doesn't specify MTLTextureUsageRenderTarget (0x04)'",
391 | " // Adding MTLTextureUsageRenderTarget seems to fix this issue.",
392 | " stencilTexDesc.usage |= MTLTextureUsageRenderTarget;",
393 | line,
394 | };
395 | }
396 |
397 | return new string[] { line };
398 | });
399 | }
400 |
401 | ///
402 | /// Edit 'SplashScreen.mm': Unity introduces its own 'LaunchScreen.storyboard' since 2017.3.0f3.
403 | /// Disable it here and use Swift project's launch screen instead.
404 | ///
405 | private static void EditSplashScreenMM(string path) {
406 | var markerDetected = false;
407 | var markerAdded = false;
408 | var inScope = false;
409 | var level = 0;
410 |
411 | EditCodeFile(path, line =>
412 | {
413 | inScope |= line.Trim() == "void ShowSplashScreen(UIWindow* window)";
414 | markerDetected |= line.Contains(TouchedMarker);
415 |
416 | if (inScope && !markerDetected)
417 | {
418 | if (line.Trim() == "{")
419 | {
420 | level++;
421 | }
422 | else if (line.Trim() == "}")
423 | {
424 | level--;
425 | }
426 |
427 | if (line.Trim() == "}" && level == 0)
428 | {
429 | inScope = false;
430 | }
431 |
432 | if (level > 0 && line.Trim().StartsWith("bool hasStoryboard"))
433 | {
434 | return new string[]
435 | {
436 | " // " + line,
437 | " bool hasStoryboard = false;",
438 | };
439 | }
440 |
441 | if (!markerAdded)
442 | {
443 | markerAdded = true;
444 | return new string[]
445 | {
446 | "// Modified by " + TouchedMarker,
447 | line,
448 | };
449 | }
450 | }
451 |
452 | return new string[] { line };
453 | });
454 | }
455 |
456 | private static void EditCodeFile(string path, Func lineHandler)
457 | {
458 | EditCodeFile(path, line =>
459 | {
460 | return new string[] { lineHandler(line) };
461 | });
462 | }
463 |
464 | private static void EditCodeFile(string path, Func> lineHandler)
465 | {
466 | var bakPath = path + ".bak";
467 | if (File.Exists(bakPath))
468 | {
469 | File.Delete(bakPath);
470 | }
471 |
472 | File.Move(path, bakPath);
473 |
474 | using (var reader = File.OpenText(bakPath))
475 | using (var stream = File.Create(path))
476 | using (var writer = new StreamWriter(stream))
477 | {
478 | string line;
479 | while ((line = reader.ReadLine()) != null)
480 | {
481 | var outputs = lineHandler(line);
482 | foreach (var o in outputs)
483 | {
484 | writer.WriteLine(o);
485 | }
486 | }
487 | }
488 | }
489 | }
490 |
491 | #endif
492 |
--------------------------------------------------------------------------------
/Assets/Editor/XcodePostBuild.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3439f46c53aac4d048b793b3b649371d
3 | timeCreated: 1515570810
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85eeb298a814f47e785e4d455bd5ef58
3 | folderAsset: yes
4 | timeCreated: 1514343072
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70374300106754aceabf20ac1df7b57c
3 | folderAsset: yes
4 | timeCreated: 1514454428
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
12 |
16 |
17 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android/AndroidManifest.xml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7339bcaf042324d659ee9454a21b827d
3 | timeCreated: 1514454445
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android/WebVIewLib.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/Assets/Plugins/Android/WebVIewLib.jar
--------------------------------------------------------------------------------
/Assets/Plugins/Android/WebVIewLib.jar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86fbc237c3c944a64b46007d78b622d0
3 | timeCreated: 1515996169
4 | licenseType: Free
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | Android: Android
15 | second:
16 | enabled: 1
17 | settings: {}
18 | data:
19 | first:
20 | Any:
21 | second:
22 | enabled: 0
23 | settings: {}
24 | data:
25 | first:
26 | Editor: Editor
27 | second:
28 | enabled: 0
29 | settings:
30 | DefaultValueInitialized: true
31 | userData:
32 | assetBundleName:
33 | assetBundleVariant:
34 |
--------------------------------------------------------------------------------
/Assets/Plugins/iOS.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b2c32e748d5014f45ab0448c94edf195
3 | folderAsset: yes
4 | timeCreated: 1515568849
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/iOS/WebView.mm:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | extern "C" UIViewController *UnityGetGLViewController();
5 | extern void UnitySendMessage(const char *, const char *, const char *);
6 |
7 | @interface NativeWebView : UINavigationController
8 | {
9 | // To use WKWebView you need to add WkWebView.framekwork via Xcode
10 | WKWebView *webView;
11 | NSString *gameObject;
12 | NSString *method;
13 | }
14 |
15 | -(void) setup:(const char*)gameObjectName method:(const char*)methodName;
16 | -(void) openURL: (const char*) urlString;
17 | -(void) dismissModal;
18 |
19 | @end
20 |
21 | @implementation NativeWebView
22 |
23 | -(id)init
24 | {
25 | webView = [[WKWebView alloc] init];
26 |
27 | UIViewController *webViewController = [[UIViewController alloc] init];
28 | webViewController.view = webView;
29 |
30 | self = [super initWithRootViewController: webViewController];
31 | self.navigationBar.barStyle = UIBarStyleDefault;
32 |
33 | UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style: UIBarButtonItemStylePlain target:self action: @selector(dismissModal)];
34 | [self.navigationBar.topItem setLeftBarButtonItem: cancelButton];
35 |
36 | return self;
37 | }
38 |
39 | -(void) setupCallBack:(const char*)gameObjectName method:(const char*)methodName
40 | {
41 | NSLog(@"Setting up callback");
42 | NSLog(@"data = %@", [NSString stringWithUTF8String:gameObjectName]);
43 | NSLog(@"data = %@", [NSString stringWithUTF8String:methodName]);
44 |
45 | gameObject = [NSString stringWithUTF8String:gameObjectName];
46 | method = [NSString stringWithUTF8String:methodName];
47 | }
48 |
49 | -(void) openURL:(const char*)urlString
50 | {
51 | NSURL *url = [[NSURL alloc] initWithString: [NSString stringWithUTF8String: urlString]];
52 | NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
53 | [webView loadRequest:request];
54 |
55 | [UnityGetGLViewController() presentModalViewController: self animated: YES];
56 | }
57 |
58 | -(void) dismissModal
59 | {
60 | NSLog(@"Closing modal");
61 | NSURL *url = [[NSURL alloc] initWithString: [NSString stringWithUTF8String: "about:blank"]];
62 | NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
63 | [webView loadRequest:request];
64 |
65 | UnitySendMessage([gameObject UTF8String], [method UTF8String], "Calling back from iOS device");
66 | [UnityGetGLViewController() dismissModalViewControllerAnimated: YES];
67 | }
68 |
69 | @end
70 |
71 | static NativeWebView *nativeWebViewPlugin = nil;
72 |
73 | extern "C"
74 | {
75 | void _nativeLog() {
76 | NSLog(@"Log called from Unity");
77 | }
78 |
79 | void _setupCallBack(const char* gameObjectName, const char* methodName) {
80 | if (nativeWebViewPlugin == nil)
81 | nativeWebViewPlugin = [[NativeWebView alloc] init];
82 |
83 | [nativeWebViewPlugin setupCallBack:gameObjectName method:methodName];
84 | }
85 |
86 | void _openURL(const char* url) {
87 | [nativeWebViewPlugin openURL: url];
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/Assets/Plugins/iOS/WebView.mm.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 35b2965a3c95449ff8d3f3e78f82eac4
3 | timeCreated: 1515574236
4 | licenseType: Free
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | Any:
15 | second:
16 | enabled: 0
17 | settings: {}
18 | data:
19 | first:
20 | Editor: Editor
21 | second:
22 | enabled: 0
23 | settings:
24 | DefaultValueInitialized: true
25 | data:
26 | first:
27 | iPhone: iOS
28 | second:
29 | enabled: 1
30 | settings: {}
31 | userData:
32 | assetBundleName:
33 | assetBundleVariant:
34 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 58a7875d3659d4714aaab40fac1cc37b
3 | folderAsset: yes
4 | timeCreated: 1515652137
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Scenes/WebViewExample.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 8
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
42 | --- !u!157 &3
43 | LightmapSettings:
44 | m_ObjectHideFlags: 0
45 | serializedVersion: 11
46 | m_GIWorkflowMode: 0
47 | m_GISettings:
48 | serializedVersion: 2
49 | m_BounceScale: 1
50 | m_IndirectOutputScale: 1
51 | m_AlbedoBoost: 1
52 | m_TemporalCoherenceThreshold: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 1
56 | m_LightmapEditorSettings:
57 | serializedVersion: 9
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_TextureWidth: 1024
61 | m_TextureHeight: 1024
62 | m_AO: 0
63 | m_AOMaxDistance: 1
64 | m_CompAOExponent: 1
65 | m_CompAOExponentDirect: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 1
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
75 | m_BakeBackend: 0
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 500
79 | m_PVRBounces: 2
80 | m_PVRFiltering: 0
81 | m_PVRFilteringMode: 1
82 | m_PVRCulling: 1
83 | m_PVRFilteringGaussRadiusDirect: 1
84 | m_PVRFilteringGaussRadiusIndirect: 5
85 | m_PVRFilteringGaussRadiusAO: 2
86 | m_PVRFilteringAtrousColorSigma: 1
87 | m_PVRFilteringAtrousNormalSigma: 1
88 | m_PVRFilteringAtrousPositionSigma: 1
89 | m_LightingDataAsset: {fileID: 0}
90 | m_UseShadowmask: 1
91 | --- !u!196 &4
92 | NavMeshSettings:
93 | serializedVersion: 2
94 | m_ObjectHideFlags: 0
95 | m_BuildSettings:
96 | serializedVersion: 2
97 | agentTypeID: 0
98 | agentRadius: 0.5
99 | agentHeight: 2
100 | agentSlope: 45
101 | agentClimb: 0.4
102 | ledgeDropHeight: 0
103 | maxJumpAcrossDistance: 0
104 | minRegionArea: 2
105 | manualCellSize: 0
106 | cellSize: 0.16666667
107 | manualTileSize: 0
108 | tileSize: 256
109 | accuratePlacement: 0
110 | m_NavMeshData: {fileID: 0}
111 | --- !u!1 &153375633
112 | GameObject:
113 | m_ObjectHideFlags: 0
114 | m_PrefabParentObject: {fileID: 0}
115 | m_PrefabInternal: {fileID: 0}
116 | serializedVersion: 5
117 | m_Component:
118 | - component: {fileID: 153375634}
119 | - component: {fileID: 153375637}
120 | - component: {fileID: 153375636}
121 | - component: {fileID: 153375635}
122 | m_Layer: 5
123 | m_Name: OpenWebButton
124 | m_TagString: Untagged
125 | m_Icon: {fileID: 0}
126 | m_NavMeshLayer: 0
127 | m_StaticEditorFlags: 0
128 | m_IsActive: 1
129 | --- !u!224 &153375634
130 | RectTransform:
131 | m_ObjectHideFlags: 0
132 | m_PrefabParentObject: {fileID: 0}
133 | m_PrefabInternal: {fileID: 0}
134 | m_GameObject: {fileID: 153375633}
135 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
136 | m_LocalPosition: {x: 0, y: 0, z: 0}
137 | m_LocalScale: {x: 1, y: 1, z: 1}
138 | m_Children:
139 | - {fileID: 923322314}
140 | m_Father: {fileID: 2015745368}
141 | m_RootOrder: 1
142 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
143 | m_AnchorMin: {x: 0.5, y: 0.5}
144 | m_AnchorMax: {x: 0.5, y: 0.5}
145 | m_AnchoredPosition: {x: 0, y: 0}
146 | m_SizeDelta: {x: 500, y: 100}
147 | m_Pivot: {x: 0.5, y: 0.5}
148 | --- !u!114 &153375635
149 | MonoBehaviour:
150 | m_ObjectHideFlags: 0
151 | m_PrefabParentObject: {fileID: 0}
152 | m_PrefabInternal: {fileID: 0}
153 | m_GameObject: {fileID: 153375633}
154 | m_Enabled: 1
155 | m_EditorHideFlags: 0
156 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
157 | m_Name:
158 | m_EditorClassIdentifier:
159 | m_Navigation:
160 | m_Mode: 3
161 | m_SelectOnUp: {fileID: 0}
162 | m_SelectOnDown: {fileID: 0}
163 | m_SelectOnLeft: {fileID: 0}
164 | m_SelectOnRight: {fileID: 0}
165 | m_Transition: 1
166 | m_Colors:
167 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
168 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
169 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
170 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
171 | m_ColorMultiplier: 1
172 | m_FadeDuration: 0.1
173 | m_SpriteState:
174 | m_HighlightedSprite: {fileID: 0}
175 | m_PressedSprite: {fileID: 0}
176 | m_DisabledSprite: {fileID: 0}
177 | m_AnimationTriggers:
178 | m_NormalTrigger: Normal
179 | m_HighlightedTrigger: Highlighted
180 | m_PressedTrigger: Pressed
181 | m_DisabledTrigger: Disabled
182 | m_Interactable: 1
183 | m_TargetGraphic: {fileID: 153375636}
184 | m_OnClick:
185 | m_PersistentCalls:
186 | m_Calls:
187 | - m_Target: {fileID: 713347366}
188 | m_MethodName: CallWebView
189 | m_Mode: 1
190 | m_Arguments:
191 | m_ObjectArgument: {fileID: 0}
192 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
193 | m_IntArgument: 0
194 | m_FloatArgument: 0
195 | m_StringArgument:
196 | m_BoolArgument: 0
197 | m_CallState: 2
198 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
199 | Culture=neutral, PublicKeyToken=null
200 | --- !u!114 &153375636
201 | MonoBehaviour:
202 | m_ObjectHideFlags: 0
203 | m_PrefabParentObject: {fileID: 0}
204 | m_PrefabInternal: {fileID: 0}
205 | m_GameObject: {fileID: 153375633}
206 | m_Enabled: 1
207 | m_EditorHideFlags: 0
208 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
209 | m_Name:
210 | m_EditorClassIdentifier:
211 | m_Material: {fileID: 0}
212 | m_Color: {r: 1, g: 1, b: 1, a: 1}
213 | m_RaycastTarget: 1
214 | m_OnCullStateChanged:
215 | m_PersistentCalls:
216 | m_Calls: []
217 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
218 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
219 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
220 | m_Type: 1
221 | m_PreserveAspect: 0
222 | m_FillCenter: 1
223 | m_FillMethod: 4
224 | m_FillAmount: 1
225 | m_FillClockwise: 1
226 | m_FillOrigin: 0
227 | --- !u!222 &153375637
228 | CanvasRenderer:
229 | m_ObjectHideFlags: 0
230 | m_PrefabParentObject: {fileID: 0}
231 | m_PrefabInternal: {fileID: 0}
232 | m_GameObject: {fileID: 153375633}
233 | --- !u!1 &713347365
234 | GameObject:
235 | m_ObjectHideFlags: 0
236 | m_PrefabParentObject: {fileID: 0}
237 | m_PrefabInternal: {fileID: 0}
238 | serializedVersion: 5
239 | m_Component:
240 | - component: {fileID: 713347367}
241 | - component: {fileID: 713347366}
242 | m_Layer: 0
243 | m_Name: WebViewManager
244 | m_TagString: Untagged
245 | m_Icon: {fileID: 0}
246 | m_NavMeshLayer: 0
247 | m_StaticEditorFlags: 0
248 | m_IsActive: 1
249 | --- !u!114 &713347366
250 | MonoBehaviour:
251 | m_ObjectHideFlags: 0
252 | m_PrefabParentObject: {fileID: 0}
253 | m_PrefabInternal: {fileID: 0}
254 | m_GameObject: {fileID: 713347365}
255 | m_Enabled: 1
256 | m_EditorHideFlags: 0
257 | m_Script: {fileID: 11500000, guid: 9a44cd228a2ce4ce1b5e5ac9dfe8984d, type: 3}
258 | m_Name:
259 | m_EditorClassIdentifier:
260 | URL: https://wizcorp.jp
261 | Context: {fileID: 1673291618}
262 | --- !u!4 &713347367
263 | Transform:
264 | m_ObjectHideFlags: 0
265 | m_PrefabParentObject: {fileID: 0}
266 | m_PrefabInternal: {fileID: 0}
267 | m_GameObject: {fileID: 713347365}
268 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
269 | m_LocalPosition: {x: 0, y: 0, z: 0}
270 | m_LocalScale: {x: 1, y: 1, z: 1}
271 | m_Children: []
272 | m_Father: {fileID: 0}
273 | m_RootOrder: 4
274 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
275 | --- !u!1 &721476129
276 | GameObject:
277 | m_ObjectHideFlags: 0
278 | m_PrefabParentObject: {fileID: 0}
279 | m_PrefabInternal: {fileID: 0}
280 | serializedVersion: 5
281 | m_Component:
282 | - component: {fileID: 721476133}
283 | - component: {fileID: 721476132}
284 | - component: {fileID: 721476131}
285 | - component: {fileID: 721476130}
286 | m_Layer: 0
287 | m_Name: Main Camera
288 | m_TagString: MainCamera
289 | m_Icon: {fileID: 0}
290 | m_NavMeshLayer: 0
291 | m_StaticEditorFlags: 0
292 | m_IsActive: 1
293 | --- !u!81 &721476130
294 | AudioListener:
295 | m_ObjectHideFlags: 0
296 | m_PrefabParentObject: {fileID: 0}
297 | m_PrefabInternal: {fileID: 0}
298 | m_GameObject: {fileID: 721476129}
299 | m_Enabled: 1
300 | --- !u!124 &721476131
301 | Behaviour:
302 | m_ObjectHideFlags: 0
303 | m_PrefabParentObject: {fileID: 0}
304 | m_PrefabInternal: {fileID: 0}
305 | m_GameObject: {fileID: 721476129}
306 | m_Enabled: 1
307 | --- !u!20 &721476132
308 | Camera:
309 | m_ObjectHideFlags: 0
310 | m_PrefabParentObject: {fileID: 0}
311 | m_PrefabInternal: {fileID: 0}
312 | m_GameObject: {fileID: 721476129}
313 | m_Enabled: 1
314 | serializedVersion: 2
315 | m_ClearFlags: 1
316 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
317 | m_NormalizedViewPortRect:
318 | serializedVersion: 2
319 | x: 0
320 | y: 0
321 | width: 1
322 | height: 1
323 | near clip plane: 0.3
324 | far clip plane: 1000
325 | field of view: 60
326 | orthographic: 0
327 | orthographic size: 5
328 | m_Depth: -1
329 | m_CullingMask:
330 | serializedVersion: 2
331 | m_Bits: 4294967295
332 | m_RenderingPath: -1
333 | m_TargetTexture: {fileID: 0}
334 | m_TargetDisplay: 0
335 | m_TargetEye: 3
336 | m_HDR: 1
337 | m_AllowMSAA: 1
338 | m_ForceIntoRT: 0
339 | m_OcclusionCulling: 1
340 | m_StereoConvergence: 10
341 | m_StereoSeparation: 0.022
342 | m_StereoMirrorMode: 0
343 | --- !u!4 &721476133
344 | Transform:
345 | m_ObjectHideFlags: 0
346 | m_PrefabParentObject: {fileID: 0}
347 | m_PrefabInternal: {fileID: 0}
348 | m_GameObject: {fileID: 721476129}
349 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
350 | m_LocalPosition: {x: 0, y: 1, z: -10}
351 | m_LocalScale: {x: 1, y: 1, z: 1}
352 | m_Children: []
353 | m_Father: {fileID: 0}
354 | m_RootOrder: 0
355 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
356 | --- !u!1 &923322313
357 | GameObject:
358 | m_ObjectHideFlags: 0
359 | m_PrefabParentObject: {fileID: 0}
360 | m_PrefabInternal: {fileID: 0}
361 | serializedVersion: 5
362 | m_Component:
363 | - component: {fileID: 923322314}
364 | - component: {fileID: 923322316}
365 | - component: {fileID: 923322315}
366 | m_Layer: 5
367 | m_Name: Text
368 | m_TagString: Untagged
369 | m_Icon: {fileID: 0}
370 | m_NavMeshLayer: 0
371 | m_StaticEditorFlags: 0
372 | m_IsActive: 1
373 | --- !u!224 &923322314
374 | RectTransform:
375 | m_ObjectHideFlags: 0
376 | m_PrefabParentObject: {fileID: 0}
377 | m_PrefabInternal: {fileID: 0}
378 | m_GameObject: {fileID: 923322313}
379 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
380 | m_LocalPosition: {x: 0, y: 0, z: 0}
381 | m_LocalScale: {x: 1, y: 1, z: 1}
382 | m_Children: []
383 | m_Father: {fileID: 153375634}
384 | m_RootOrder: 0
385 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
386 | m_AnchorMin: {x: 0, y: 0}
387 | m_AnchorMax: {x: 1, y: 1}
388 | m_AnchoredPosition: {x: 0, y: 0}
389 | m_SizeDelta: {x: 0, y: 0}
390 | m_Pivot: {x: 0.5, y: 0.5}
391 | --- !u!114 &923322315
392 | MonoBehaviour:
393 | m_ObjectHideFlags: 0
394 | m_PrefabParentObject: {fileID: 0}
395 | m_PrefabInternal: {fileID: 0}
396 | m_GameObject: {fileID: 923322313}
397 | m_Enabled: 1
398 | m_EditorHideFlags: 0
399 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
400 | m_Name:
401 | m_EditorClassIdentifier:
402 | m_Material: {fileID: 0}
403 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
404 | m_RaycastTarget: 1
405 | m_OnCullStateChanged:
406 | m_PersistentCalls:
407 | m_Calls: []
408 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
409 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
410 | m_FontData:
411 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
412 | m_FontSize: 50
413 | m_FontStyle: 0
414 | m_BestFit: 0
415 | m_MinSize: 5
416 | m_MaxSize: 50
417 | m_Alignment: 4
418 | m_AlignByGeometry: 0
419 | m_RichText: 1
420 | m_HorizontalOverflow: 0
421 | m_VerticalOverflow: 0
422 | m_LineSpacing: 1
423 | m_Text: Open Web
424 | --- !u!222 &923322316
425 | CanvasRenderer:
426 | m_ObjectHideFlags: 0
427 | m_PrefabParentObject: {fileID: 0}
428 | m_PrefabInternal: {fileID: 0}
429 | m_GameObject: {fileID: 923322313}
430 | --- !u!1 &1419597844
431 | GameObject:
432 | m_ObjectHideFlags: 0
433 | m_PrefabParentObject: {fileID: 0}
434 | m_PrefabInternal: {fileID: 0}
435 | serializedVersion: 5
436 | m_Component:
437 | - component: {fileID: 1419597848}
438 | - component: {fileID: 1419597847}
439 | - component: {fileID: 1419597846}
440 | - component: {fileID: 1419597845}
441 | m_Layer: 5
442 | m_Name: Canvas
443 | m_TagString: Untagged
444 | m_Icon: {fileID: 0}
445 | m_NavMeshLayer: 0
446 | m_StaticEditorFlags: 0
447 | m_IsActive: 1
448 | --- !u!114 &1419597845
449 | MonoBehaviour:
450 | m_ObjectHideFlags: 0
451 | m_PrefabParentObject: {fileID: 0}
452 | m_PrefabInternal: {fileID: 0}
453 | m_GameObject: {fileID: 1419597844}
454 | m_Enabled: 1
455 | m_EditorHideFlags: 0
456 | m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
457 | m_Name:
458 | m_EditorClassIdentifier:
459 | m_IgnoreReversedGraphics: 1
460 | m_BlockingObjects: 0
461 | m_BlockingMask:
462 | serializedVersion: 2
463 | m_Bits: 4294967295
464 | --- !u!114 &1419597846
465 | MonoBehaviour:
466 | m_ObjectHideFlags: 0
467 | m_PrefabParentObject: {fileID: 0}
468 | m_PrefabInternal: {fileID: 0}
469 | m_GameObject: {fileID: 1419597844}
470 | m_Enabled: 1
471 | m_EditorHideFlags: 0
472 | m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
473 | m_Name:
474 | m_EditorClassIdentifier:
475 | m_UiScaleMode: 1
476 | m_ReferencePixelsPerUnit: 100
477 | m_ScaleFactor: 1
478 | m_ReferenceResolution: {x: 800, y: 600}
479 | m_ScreenMatchMode: 0
480 | m_MatchWidthOrHeight: 0
481 | m_PhysicalUnit: 3
482 | m_FallbackScreenDPI: 96
483 | m_DefaultSpriteDPI: 96
484 | m_DynamicPixelsPerUnit: 1
485 | --- !u!223 &1419597847
486 | Canvas:
487 | m_ObjectHideFlags: 0
488 | m_PrefabParentObject: {fileID: 0}
489 | m_PrefabInternal: {fileID: 0}
490 | m_GameObject: {fileID: 1419597844}
491 | m_Enabled: 1
492 | serializedVersion: 3
493 | m_RenderMode: 0
494 | m_Camera: {fileID: 0}
495 | m_PlaneDistance: 100
496 | m_PixelPerfect: 1
497 | m_ReceivesEvents: 1
498 | m_OverrideSorting: 0
499 | m_OverridePixelPerfect: 0
500 | m_SortingBucketNormalizedSize: 0
501 | m_AdditionalShaderChannelsFlag: 0
502 | m_SortingLayerID: 0
503 | m_SortingOrder: 0
504 | m_TargetDisplay: 0
505 | --- !u!224 &1419597848
506 | RectTransform:
507 | m_ObjectHideFlags: 0
508 | m_PrefabParentObject: {fileID: 0}
509 | m_PrefabInternal: {fileID: 0}
510 | m_GameObject: {fileID: 1419597844}
511 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
512 | m_LocalPosition: {x: 0, y: 0, z: 0}
513 | m_LocalScale: {x: 0, y: 0, z: 0}
514 | m_Children:
515 | - {fileID: 2015745368}
516 | m_Father: {fileID: 0}
517 | m_RootOrder: 2
518 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
519 | m_AnchorMin: {x: 0, y: 0}
520 | m_AnchorMax: {x: 0, y: 0}
521 | m_AnchoredPosition: {x: 0, y: 0}
522 | m_SizeDelta: {x: 0, y: 0}
523 | m_Pivot: {x: 0, y: 0}
524 | --- !u!1 &1660539248
525 | GameObject:
526 | m_ObjectHideFlags: 0
527 | m_PrefabParentObject: {fileID: 0}
528 | m_PrefabInternal: {fileID: 0}
529 | serializedVersion: 5
530 | m_Component:
531 | - component: {fileID: 1660539250}
532 | - component: {fileID: 1660539249}
533 | m_Layer: 0
534 | m_Name: Directional Light
535 | m_TagString: Untagged
536 | m_Icon: {fileID: 0}
537 | m_NavMeshLayer: 0
538 | m_StaticEditorFlags: 0
539 | m_IsActive: 1
540 | --- !u!108 &1660539249
541 | Light:
542 | m_ObjectHideFlags: 0
543 | m_PrefabParentObject: {fileID: 0}
544 | m_PrefabInternal: {fileID: 0}
545 | m_GameObject: {fileID: 1660539248}
546 | m_Enabled: 1
547 | serializedVersion: 8
548 | m_Type: 1
549 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
550 | m_Intensity: 1
551 | m_Range: 10
552 | m_SpotAngle: 30
553 | m_CookieSize: 10
554 | m_Shadows:
555 | m_Type: 2
556 | m_Resolution: -1
557 | m_CustomResolution: -1
558 | m_Strength: 1
559 | m_Bias: 0.05
560 | m_NormalBias: 0.4
561 | m_NearPlane: 0.2
562 | m_Cookie: {fileID: 0}
563 | m_DrawHalo: 0
564 | m_Flare: {fileID: 0}
565 | m_RenderMode: 0
566 | m_CullingMask:
567 | serializedVersion: 2
568 | m_Bits: 4294967295
569 | m_Lightmapping: 4
570 | m_AreaSize: {x: 1, y: 1}
571 | m_BounceIntensity: 1
572 | m_ColorTemperature: 6570
573 | m_UseColorTemperature: 0
574 | m_ShadowRadius: 0
575 | m_ShadowAngle: 0
576 | --- !u!4 &1660539250
577 | Transform:
578 | m_ObjectHideFlags: 0
579 | m_PrefabParentObject: {fileID: 0}
580 | m_PrefabInternal: {fileID: 0}
581 | m_GameObject: {fileID: 1660539248}
582 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
583 | m_LocalPosition: {x: 0, y: 3, z: 0}
584 | m_LocalScale: {x: 1, y: 1, z: 1}
585 | m_Children: []
586 | m_Father: {fileID: 0}
587 | m_RootOrder: 1
588 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
589 | --- !u!1 &1673291616
590 | GameObject:
591 | m_ObjectHideFlags: 0
592 | m_PrefabParentObject: {fileID: 0}
593 | m_PrefabInternal: {fileID: 0}
594 | serializedVersion: 5
595 | m_Component:
596 | - component: {fileID: 1673291617}
597 | - component: {fileID: 1673291619}
598 | - component: {fileID: 1673291618}
599 | m_Layer: 5
600 | m_Name: CallBackText
601 | m_TagString: Untagged
602 | m_Icon: {fileID: 0}
603 | m_NavMeshLayer: 0
604 | m_StaticEditorFlags: 0
605 | m_IsActive: 1
606 | --- !u!224 &1673291617
607 | RectTransform:
608 | m_ObjectHideFlags: 0
609 | m_PrefabParentObject: {fileID: 0}
610 | m_PrefabInternal: {fileID: 0}
611 | m_GameObject: {fileID: 1673291616}
612 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
613 | m_LocalPosition: {x: 0, y: 0, z: 0}
614 | m_LocalScale: {x: 1, y: 1, z: 1}
615 | m_Children: []
616 | m_Father: {fileID: 2015745368}
617 | m_RootOrder: 0
618 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
619 | m_AnchorMin: {x: 0, y: 0}
620 | m_AnchorMax: {x: 1, y: 1}
621 | m_AnchoredPosition: {x: 0, y: -10}
622 | m_SizeDelta: {x: 0, y: -20}
623 | m_Pivot: {x: 0.5, y: 0.5}
624 | --- !u!114 &1673291618
625 | MonoBehaviour:
626 | m_ObjectHideFlags: 0
627 | m_PrefabParentObject: {fileID: 0}
628 | m_PrefabInternal: {fileID: 0}
629 | m_GameObject: {fileID: 1673291616}
630 | m_Enabled: 1
631 | m_EditorHideFlags: 0
632 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
633 | m_Name:
634 | m_EditorClassIdentifier:
635 | m_Material: {fileID: 0}
636 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
637 | m_RaycastTarget: 1
638 | m_OnCullStateChanged:
639 | m_PersistentCalls:
640 | m_Calls: []
641 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
642 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
643 | m_FontData:
644 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
645 | m_FontSize: 14
646 | m_FontStyle: 0
647 | m_BestFit: 1
648 | m_MinSize: 10
649 | m_MaxSize: 40
650 | m_Alignment: 1
651 | m_AlignByGeometry: 0
652 | m_RichText: 1
653 | m_HorizontalOverflow: 0
654 | m_VerticalOverflow: 0
655 | m_LineSpacing: 1
656 | m_Text: Callback Message
657 | --- !u!222 &1673291619
658 | CanvasRenderer:
659 | m_ObjectHideFlags: 0
660 | m_PrefabParentObject: {fileID: 0}
661 | m_PrefabInternal: {fileID: 0}
662 | m_GameObject: {fileID: 1673291616}
663 | --- !u!1 &1687364249
664 | GameObject:
665 | m_ObjectHideFlags: 0
666 | m_PrefabParentObject: {fileID: 0}
667 | m_PrefabInternal: {fileID: 0}
668 | serializedVersion: 5
669 | m_Component:
670 | - component: {fileID: 1687364252}
671 | - component: {fileID: 1687364251}
672 | - component: {fileID: 1687364250}
673 | m_Layer: 0
674 | m_Name: EventSystem
675 | m_TagString: Untagged
676 | m_Icon: {fileID: 0}
677 | m_NavMeshLayer: 0
678 | m_StaticEditorFlags: 0
679 | m_IsActive: 1
680 | --- !u!114 &1687364250
681 | MonoBehaviour:
682 | m_ObjectHideFlags: 0
683 | m_PrefabParentObject: {fileID: 0}
684 | m_PrefabInternal: {fileID: 0}
685 | m_GameObject: {fileID: 1687364249}
686 | m_Enabled: 1
687 | m_EditorHideFlags: 0
688 | m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
689 | m_Name:
690 | m_EditorClassIdentifier:
691 | m_HorizontalAxis: Horizontal
692 | m_VerticalAxis: Vertical
693 | m_SubmitButton: Submit
694 | m_CancelButton: Cancel
695 | m_InputActionsPerSecond: 10
696 | m_RepeatDelay: 0.5
697 | m_ForceModuleActive: 0
698 | --- !u!114 &1687364251
699 | MonoBehaviour:
700 | m_ObjectHideFlags: 0
701 | m_PrefabParentObject: {fileID: 0}
702 | m_PrefabInternal: {fileID: 0}
703 | m_GameObject: {fileID: 1687364249}
704 | m_Enabled: 1
705 | m_EditorHideFlags: 0
706 | m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
707 | m_Name:
708 | m_EditorClassIdentifier:
709 | m_FirstSelected: {fileID: 0}
710 | m_sendNavigationEvents: 1
711 | m_DragThreshold: 5
712 | --- !u!4 &1687364252
713 | Transform:
714 | m_ObjectHideFlags: 0
715 | m_PrefabParentObject: {fileID: 0}
716 | m_PrefabInternal: {fileID: 0}
717 | m_GameObject: {fileID: 1687364249}
718 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
719 | m_LocalPosition: {x: 0, y: 0, z: 0}
720 | m_LocalScale: {x: 1, y: 1, z: 1}
721 | m_Children: []
722 | m_Father: {fileID: 0}
723 | m_RootOrder: 3
724 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
725 | --- !u!1 &2015745367
726 | GameObject:
727 | m_ObjectHideFlags: 0
728 | m_PrefabParentObject: {fileID: 0}
729 | m_PrefabInternal: {fileID: 0}
730 | serializedVersion: 5
731 | m_Component:
732 | - component: {fileID: 2015745368}
733 | - component: {fileID: 2015745370}
734 | - component: {fileID: 2015745369}
735 | m_Layer: 5
736 | m_Name: Panel
737 | m_TagString: Untagged
738 | m_Icon: {fileID: 0}
739 | m_NavMeshLayer: 0
740 | m_StaticEditorFlags: 0
741 | m_IsActive: 1
742 | --- !u!224 &2015745368
743 | RectTransform:
744 | m_ObjectHideFlags: 0
745 | m_PrefabParentObject: {fileID: 0}
746 | m_PrefabInternal: {fileID: 0}
747 | m_GameObject: {fileID: 2015745367}
748 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
749 | m_LocalPosition: {x: 0, y: 0, z: 0}
750 | m_LocalScale: {x: 1, y: 1, z: 1}
751 | m_Children:
752 | - {fileID: 1673291617}
753 | - {fileID: 153375634}
754 | m_Father: {fileID: 1419597848}
755 | m_RootOrder: 0
756 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
757 | m_AnchorMin: {x: 0, y: 0}
758 | m_AnchorMax: {x: 1, y: 1}
759 | m_AnchoredPosition: {x: 0, y: 0}
760 | m_SizeDelta: {x: -200, y: -200}
761 | m_Pivot: {x: 0.5, y: 0.5}
762 | --- !u!114 &2015745369
763 | MonoBehaviour:
764 | m_ObjectHideFlags: 0
765 | m_PrefabParentObject: {fileID: 0}
766 | m_PrefabInternal: {fileID: 0}
767 | m_GameObject: {fileID: 2015745367}
768 | m_Enabled: 1
769 | m_EditorHideFlags: 0
770 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
771 | m_Name:
772 | m_EditorClassIdentifier:
773 | m_Material: {fileID: 0}
774 | m_Color: {r: 1, g: 1, b: 1, a: 0.392}
775 | m_RaycastTarget: 1
776 | m_OnCullStateChanged:
777 | m_PersistentCalls:
778 | m_Calls: []
779 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
780 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
781 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
782 | m_Type: 1
783 | m_PreserveAspect: 0
784 | m_FillCenter: 1
785 | m_FillMethod: 4
786 | m_FillAmount: 1
787 | m_FillClockwise: 1
788 | m_FillOrigin: 0
789 | --- !u!222 &2015745370
790 | CanvasRenderer:
791 | m_ObjectHideFlags: 0
792 | m_PrefabParentObject: {fileID: 0}
793 | m_PrefabInternal: {fileID: 0}
794 | m_GameObject: {fileID: 2015745367}
795 |
--------------------------------------------------------------------------------
/Assets/Scenes/WebViewExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0064728741c6349739b6079e4e2c6922
3 | timeCreated: 1514343048
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/WebView.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Runtime.InteropServices;
5 | using UnityEngine;
6 | using UnityEngine.UI;
7 |
8 | namespace Wizcorp.Web
9 | {
10 | public class WebView : MonoBehaviour
11 | {
12 | public string URL = "https://wizcorp.jp";
13 | public Text Context;
14 |
15 | #region shared
16 | public void CallBack(string message)
17 | {
18 | Context.text = message;
19 | }
20 | #endregion
21 |
22 | #if UNITY_ANDROID
23 | public void CallWebView()
24 | {
25 | Debug.Log("Call WebView");
26 | AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
27 | AndroidJavaObject currentActivity = unity.GetStatic("currentActivity");
28 | currentActivity.Call("OpenWebView", URL);
29 | }
30 |
31 | void Start()
32 | {
33 | AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
34 | AndroidJavaObject currentActivity = unity.GetStatic("currentActivity");
35 | currentActivity.Call("SetupCallBack", this.gameObject.name, "CallBack", "Calling back from Android");
36 | }
37 | #endif
38 |
39 | #if UNITY_IOS
40 | [DllImport("__Internal")]
41 | private static extern void _nativeLog();
42 | [DllImport("__Internal")]
43 | private static extern void _openURL(string url);
44 | [DllImport("__Internal")]
45 | private static extern void _setupCallBack(string gameObject, string methodName);
46 |
47 | // Connect with button onClick event
48 | public void CallWebView()
49 | {
50 | _openURL(URL);
51 | }
52 |
53 | void Start()
54 | {
55 | if (Application.platform == RuntimePlatform.IPhonePlayer)
56 | {
57 | _setupCallBack(this.gameObject.name, "CallBack");
58 |
59 | _nativeLog();
60 | }
61 | }
62 |
63 | #endif
64 | }
65 | }
--------------------------------------------------------------------------------
/Assets/WebView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a44cd228a2ce4ce1b5e5ac9dfe8984d
3 | timeCreated: 1516244264
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Wizcorp
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/MarkdownImages/AExample01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/AExample01.png
--------------------------------------------------------------------------------
/MarkdownImages/AExample02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/AExample02.png
--------------------------------------------------------------------------------
/MarkdownImages/Image01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image01.png
--------------------------------------------------------------------------------
/MarkdownImages/Image02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image02.png
--------------------------------------------------------------------------------
/MarkdownImages/Image03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image03.png
--------------------------------------------------------------------------------
/MarkdownImages/Image04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image04.png
--------------------------------------------------------------------------------
/MarkdownImages/Image05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image05.png
--------------------------------------------------------------------------------
/MarkdownImages/Image06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image06.png
--------------------------------------------------------------------------------
/MarkdownImages/Image07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/Image07.png
--------------------------------------------------------------------------------
/MarkdownImages/iExample01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Wizcorp/WebViewForUnity3D/cfc1227cd741680a0522f6186aced2bc8a060a5a/MarkdownImages/iExample01.png
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 1
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/WebViewExample.unity
10 | guid: 0064728741c6349739b6079e4e2c6922
11 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Hidden Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 1
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
40 | - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0}
41 | m_PreloadedShaders: []
42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
43 | type: 0}
44 | m_CustomRenderPipeline: {fileID: 0}
45 | m_TransparencySortMode: 0
46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
47 | m_DefaultRenderingPath: 1
48 | m_DefaultMobileRenderingPath: 1
49 | m_TierSettings: []
50 | m_LightmapStripping: 0
51 | m_FogStripping: 0
52 | m_InstancingStripping: 0
53 | m_LightmapKeepPlain: 1
54 | m_LightmapKeepDirCombined: 1
55 | m_LightmapKeepDynamicPlain: 1
56 | m_LightmapKeepDynamicDirCombined: 1
57 | m_LightmapKeepShadowMask: 1
58 | m_LightmapKeepSubtractive: 1
59 | m_FogKeepLinear: 1
60 | m_FogKeepExp: 1
61 | m_FogKeepExp2: 1
62 | m_AlbedoSwatchInfos: []
63 | m_LightsUseLinearIntensity: 0
64 | m_LightsUseColorTemperature: 0
65 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 1
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | productGUID: bf9d3438921e842ba92c979142a585b3
8 | AndroidProfiler: 0
9 | defaultScreenOrientation: 4
10 | targetDevice: 2
11 | useOnDemandResources: 0
12 | accelerometerFrequency: 60
13 | companyName: Wizcorp
14 | productName: WebViewExmaple
15 | defaultCursor: {fileID: 0}
16 | cursorHotspot: {x: 0, y: 0}
17 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
18 | m_ShowUnitySplashScreen: 1
19 | m_ShowUnitySplashLogo: 1
20 | m_SplashScreenOverlayOpacity: 1
21 | m_SplashScreenAnimation: 1
22 | m_SplashScreenLogoStyle: 1
23 | m_SplashScreenDrawMode: 0
24 | m_SplashScreenBackgroundAnimationZoom: 1
25 | m_SplashScreenLogoAnimationZoom: 1
26 | m_SplashScreenBackgroundLandscapeAspect: 1
27 | m_SplashScreenBackgroundPortraitAspect: 1
28 | m_SplashScreenBackgroundLandscapeUvs:
29 | serializedVersion: 2
30 | x: 0
31 | y: 0
32 | width: 1
33 | height: 1
34 | m_SplashScreenBackgroundPortraitUvs:
35 | serializedVersion: 2
36 | x: 0
37 | y: 0
38 | width: 1
39 | height: 1
40 | m_SplashScreenLogos: []
41 | m_SplashScreenBackgroundLandscape: {fileID: 0}
42 | m_SplashScreenBackgroundPortrait: {fileID: 0}
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 0
51 | m_MTRendering: 1
52 | m_MobileMTRendering: 0
53 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
54 | iosShowActivityIndicatorOnLoading: -1
55 | androidShowActivityIndicatorOnLoading: -1
56 | tizenShowActivityIndicatorOnLoading: -1
57 | iosAppInBackgroundBehavior: 0
58 | displayResolutionDialog: 1
59 | iosAllowHTTPDownload: 1
60 | allowedAutorotateToPortrait: 1
61 | allowedAutorotateToPortraitUpsideDown: 1
62 | allowedAutorotateToLandscapeRight: 1
63 | allowedAutorotateToLandscapeLeft: 1
64 | useOSAutorotation: 1
65 | use32BitDisplayBuffer: 1
66 | disableDepthAndStencilBuffers: 0
67 | defaultIsFullScreen: 1
68 | defaultIsNativeResolution: 1
69 | runInBackground: 0
70 | captureSingleScreen: 0
71 | muteOtherAudioSources: 0
72 | Prepare IOS For Recording: 0
73 | Force IOS Speakers When Recording: 0
74 | submitAnalytics: 1
75 | usePlayerLog: 1
76 | bakeCollisionMeshes: 0
77 | forceSingleInstance: 0
78 | resizableWindow: 0
79 | useMacAppStoreValidation: 0
80 | macAppStoreCategory: public.app-category.games
81 | gpuSkinning: 0
82 | graphicsJobs: 0
83 | xboxPIXTextureCapture: 0
84 | xboxEnableAvatar: 0
85 | xboxEnableKinect: 0
86 | xboxEnableKinectAutoTracking: 0
87 | xboxEnableFitness: 0
88 | visibleInBackground: 1
89 | allowFullscreenSwitch: 1
90 | graphicsJobMode: 0
91 | macFullscreenMode: 2
92 | d3d9FullscreenMode: 1
93 | d3d11FullscreenMode: 1
94 | xboxSpeechDB: 0
95 | xboxEnableHeadOrientation: 0
96 | xboxEnableGuest: 0
97 | xboxEnablePIXSampling: 0
98 | n3dsDisableStereoscopicView: 0
99 | n3dsEnableSharedListOpt: 1
100 | n3dsEnableVSync: 0
101 | ignoreAlphaClear: 0
102 | xboxOneResolution: 0
103 | xboxOneMonoLoggingLevel: 0
104 | xboxOneLoggingLevel: 1
105 | xboxOneDisableEsram: 0
106 | videoMemoryForVertexBuffers: 0
107 | psp2PowerMode: 0
108 | psp2AcquireBGM: 1
109 | wiiUTVResolution: 0
110 | wiiUGamePadMSAA: 1
111 | wiiUSupportsNunchuk: 0
112 | wiiUSupportsClassicController: 0
113 | wiiUSupportsBalanceBoard: 0
114 | wiiUSupportsMotionPlus: 0
115 | wiiUSupportsProController: 0
116 | wiiUAllowScreenCapture: 1
117 | wiiUControllerCount: 0
118 | m_SupportedAspectRatios:
119 | 4:3: 1
120 | 5:4: 1
121 | 16:10: 1
122 | 16:9: 1
123 | Others: 1
124 | bundleVersion: 1.0
125 | preloadedAssets: []
126 | metroInputSource: 0
127 | m_HolographicPauseOnTrackingLoss: 1
128 | xboxOneDisableKinectGpuReservation: 0
129 | xboxOneEnable7thCore: 0
130 | vrSettings:
131 | cardboard:
132 | depthFormat: 0
133 | enableTransitionView: 0
134 | daydream:
135 | depthFormat: 0
136 | useSustainedPerformanceMode: 0
137 | hololens:
138 | depthFormat: 1
139 | protectGraphicsMemory: 0
140 | useHDRDisplay: 0
141 | targetPixelDensity: 30
142 | resolutionScalingMode: 0
143 | applicationIdentifier:
144 | Android: jp.wizcorp.unity
145 | iOS: jp.wizcorp.webview
146 | buildNumber: {}
147 | AndroidBundleVersionCode: 1
148 | AndroidMinSdkVersion: 21
149 | AndroidTargetSdkVersion: 0
150 | AndroidPreferredInstallLocation: 1
151 | aotOptions:
152 | stripEngineCode: 1
153 | iPhoneStrippingLevel: 0
154 | iPhoneScriptCallOptimization: 0
155 | ForceInternetPermission: 0
156 | ForceSDCardPermission: 0
157 | CreateWallpaper: 0
158 | APKExpansionFiles: 0
159 | keepLoadedShadersAlive: 0
160 | StripUnusedMeshComponents: 0
161 | VertexChannelCompressionMask:
162 | serializedVersion: 2
163 | m_Bits: 238
164 | iPhoneSdkVersion: 988
165 | iOSTargetOSVersionString: 7.0
166 | tvOSSdkVersion: 0
167 | tvOSRequireExtendedGameController: 0
168 | tvOSTargetOSVersionString: 9.0
169 | uIPrerenderedIcon: 0
170 | uIRequiresPersistentWiFi: 0
171 | uIRequiresFullScreen: 1
172 | uIStatusBarHidden: 1
173 | uIExitOnSuspend: 0
174 | uIStatusBarStyle: 0
175 | iPhoneSplashScreen: {fileID: 0}
176 | iPhoneHighResSplashScreen: {fileID: 0}
177 | iPhoneTallHighResSplashScreen: {fileID: 0}
178 | iPhone47inSplashScreen: {fileID: 0}
179 | iPhone55inPortraitSplashScreen: {fileID: 0}
180 | iPhone55inLandscapeSplashScreen: {fileID: 0}
181 | iPadPortraitSplashScreen: {fileID: 0}
182 | iPadHighResPortraitSplashScreen: {fileID: 0}
183 | iPadLandscapeSplashScreen: {fileID: 0}
184 | iPadHighResLandscapeSplashScreen: {fileID: 0}
185 | appleTVSplashScreen: {fileID: 0}
186 | tvOSSmallIconLayers: []
187 | tvOSLargeIconLayers: []
188 | tvOSTopShelfImageLayers: []
189 | tvOSTopShelfImageWideLayers: []
190 | iOSLaunchScreenType: 0
191 | iOSLaunchScreenPortrait: {fileID: 0}
192 | iOSLaunchScreenLandscape: {fileID: 0}
193 | iOSLaunchScreenBackgroundColor:
194 | serializedVersion: 2
195 | rgba: 0
196 | iOSLaunchScreenFillPct: 100
197 | iOSLaunchScreenSize: 100
198 | iOSLaunchScreenCustomXibPath:
199 | iOSLaunchScreeniPadType: 0
200 | iOSLaunchScreeniPadImage: {fileID: 0}
201 | iOSLaunchScreeniPadBackgroundColor:
202 | serializedVersion: 2
203 | rgba: 0
204 | iOSLaunchScreeniPadFillPct: 100
205 | iOSLaunchScreeniPadSize: 100
206 | iOSLaunchScreeniPadCustomXibPath:
207 | iOSDeviceRequirements: []
208 | iOSURLSchemes: []
209 | iOSBackgroundModes: 0
210 | iOSMetalForceHardShadows: 0
211 | metalEditorSupport: 0
212 | metalAPIValidation: 1
213 | iOSRenderExtraFrameOnPause: 0
214 | appleDeveloperTeamID:
215 | iOSManualSigningProvisioningProfileID:
216 | tvOSManualSigningProvisioningProfileID:
217 | appleEnableAutomaticSigning: 0
218 | AndroidTargetDevice: 0
219 | AndroidSplashScreenScale: 0
220 | androidSplashScreen: {fileID: 0}
221 | AndroidKeystoreName:
222 | AndroidKeyaliasName:
223 | AndroidTVCompatibility: 1
224 | AndroidIsGame: 1
225 | androidEnableBanner: 1
226 | m_AndroidBanners:
227 | - width: 320
228 | height: 180
229 | banner: {fileID: 0}
230 | androidGamepadSupportLevel: 0
231 | resolutionDialogBanner: {fileID: 0}
232 | m_BuildTargetIcons: []
233 | m_BuildTargetBatching: []
234 | m_BuildTargetGraphicsAPIs: []
235 | m_BuildTargetVRSettings: []
236 | openGLRequireES31: 0
237 | openGLRequireES31AEP: 0
238 | webPlayerTemplate: APPLICATION:Default
239 | m_TemplateCustomTags: {}
240 | wiiUTitleID: 0005000011000000
241 | wiiUGroupID: 00010000
242 | wiiUCommonSaveSize: 4096
243 | wiiUAccountSaveSize: 2048
244 | wiiUOlvAccessKey: 0
245 | wiiUTinCode: 0
246 | wiiUJoinGameId: 0
247 | wiiUJoinGameModeMask: 0000000000000000
248 | wiiUCommonBossSize: 0
249 | wiiUAccountBossSize: 0
250 | wiiUAddOnUniqueIDs: []
251 | wiiUMainThreadStackSize: 3072
252 | wiiULoaderThreadStackSize: 1024
253 | wiiUSystemHeapSize: 128
254 | wiiUTVStartupScreen: {fileID: 0}
255 | wiiUGamePadStartupScreen: {fileID: 0}
256 | wiiUDrcBufferDisabled: 0
257 | wiiUProfilerLibPath:
258 | playModeTestRunnerEnabled: 0
259 | actionOnDotNetUnhandledException: 1
260 | enableInternalProfiler: 0
261 | logObjCUncaughtExceptions: 1
262 | enableCrashReportAPI: 0
263 | cameraUsageDescription:
264 | locationUsageDescription:
265 | microphoneUsageDescription:
266 | switchNetLibKey:
267 | switchSocketMemoryPoolSize: 6144
268 | switchSocketAllocatorPoolSize: 128
269 | switchSocketConcurrencyLimit: 14
270 | switchScreenResolutionBehavior: 2
271 | switchUseCPUProfiler: 0
272 | switchApplicationID: 0x01004b9000490000
273 | switchNSODependencies:
274 | switchTitleNames_0:
275 | switchTitleNames_1:
276 | switchTitleNames_2:
277 | switchTitleNames_3:
278 | switchTitleNames_4:
279 | switchTitleNames_5:
280 | switchTitleNames_6:
281 | switchTitleNames_7:
282 | switchTitleNames_8:
283 | switchTitleNames_9:
284 | switchTitleNames_10:
285 | switchTitleNames_11:
286 | switchPublisherNames_0:
287 | switchPublisherNames_1:
288 | switchPublisherNames_2:
289 | switchPublisherNames_3:
290 | switchPublisherNames_4:
291 | switchPublisherNames_5:
292 | switchPublisherNames_6:
293 | switchPublisherNames_7:
294 | switchPublisherNames_8:
295 | switchPublisherNames_9:
296 | switchPublisherNames_10:
297 | switchPublisherNames_11:
298 | switchIcons_0: {fileID: 0}
299 | switchIcons_1: {fileID: 0}
300 | switchIcons_2: {fileID: 0}
301 | switchIcons_3: {fileID: 0}
302 | switchIcons_4: {fileID: 0}
303 | switchIcons_5: {fileID: 0}
304 | switchIcons_6: {fileID: 0}
305 | switchIcons_7: {fileID: 0}
306 | switchIcons_8: {fileID: 0}
307 | switchIcons_9: {fileID: 0}
308 | switchIcons_10: {fileID: 0}
309 | switchIcons_11: {fileID: 0}
310 | switchSmallIcons_0: {fileID: 0}
311 | switchSmallIcons_1: {fileID: 0}
312 | switchSmallIcons_2: {fileID: 0}
313 | switchSmallIcons_3: {fileID: 0}
314 | switchSmallIcons_4: {fileID: 0}
315 | switchSmallIcons_5: {fileID: 0}
316 | switchSmallIcons_6: {fileID: 0}
317 | switchSmallIcons_7: {fileID: 0}
318 | switchSmallIcons_8: {fileID: 0}
319 | switchSmallIcons_9: {fileID: 0}
320 | switchSmallIcons_10: {fileID: 0}
321 | switchSmallIcons_11: {fileID: 0}
322 | switchManualHTML:
323 | switchAccessibleURLs:
324 | switchLegalInformation:
325 | switchMainThreadStackSize: 1048576
326 | switchPresenceGroupId:
327 | switchLogoHandling: 0
328 | switchReleaseVersion: 0
329 | switchDisplayVersion: 1.0.0
330 | switchStartupUserAccount: 0
331 | switchTouchScreenUsage: 0
332 | switchSupportedLanguagesMask: 0
333 | switchLogoType: 0
334 | switchApplicationErrorCodeCategory:
335 | switchUserAccountSaveDataSize: 0
336 | switchUserAccountSaveDataJournalSize: 0
337 | switchApplicationAttribute: 0
338 | switchCardSpecSize: -1
339 | switchCardSpecClock: -1
340 | switchRatingsMask: 0
341 | switchRatingsInt_0: 0
342 | switchRatingsInt_1: 0
343 | switchRatingsInt_2: 0
344 | switchRatingsInt_3: 0
345 | switchRatingsInt_4: 0
346 | switchRatingsInt_5: 0
347 | switchRatingsInt_6: 0
348 | switchRatingsInt_7: 0
349 | switchRatingsInt_8: 0
350 | switchRatingsInt_9: 0
351 | switchRatingsInt_10: 0
352 | switchRatingsInt_11: 0
353 | switchLocalCommunicationIds_0:
354 | switchLocalCommunicationIds_1:
355 | switchLocalCommunicationIds_2:
356 | switchLocalCommunicationIds_3:
357 | switchLocalCommunicationIds_4:
358 | switchLocalCommunicationIds_5:
359 | switchLocalCommunicationIds_6:
360 | switchLocalCommunicationIds_7:
361 | switchParentalControl: 0
362 | switchAllowsScreenshot: 1
363 | switchDataLossConfirmation: 0
364 | switchSupportedNpadStyles: 3
365 | switchSocketConfigEnabled: 0
366 | switchTcpInitialSendBufferSize: 32
367 | switchTcpInitialReceiveBufferSize: 64
368 | switchTcpAutoSendBufferSizeMax: 256
369 | switchTcpAutoReceiveBufferSizeMax: 256
370 | switchUdpSendBufferSize: 9
371 | switchUdpReceiveBufferSize: 42
372 | switchSocketBufferEfficiency: 4
373 | switchSocketInitializeEnabled: 1
374 | switchNetworkInterfaceManagerInitializeEnabled: 1
375 | switchPlayerConnectionEnabled: 1
376 | ps4NPAgeRating: 12
377 | ps4NPTitleSecret:
378 | ps4NPTrophyPackPath:
379 | ps4ParentalLevel: 11
380 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
381 | ps4Category: 0
382 | ps4MasterVersion: 01.00
383 | ps4AppVersion: 01.00
384 | ps4AppType: 0
385 | ps4ParamSfxPath:
386 | ps4VideoOutPixelFormat: 0
387 | ps4VideoOutInitialWidth: 1920
388 | ps4VideoOutBaseModeInitialWidth: 1920
389 | ps4VideoOutReprojectionRate: 60
390 | ps4PronunciationXMLPath:
391 | ps4PronunciationSIGPath:
392 | ps4BackgroundImagePath:
393 | ps4StartupImagePath:
394 | ps4SaveDataImagePath:
395 | ps4SdkOverride:
396 | ps4BGMPath:
397 | ps4ShareFilePath:
398 | ps4ShareOverlayImagePath:
399 | ps4PrivacyGuardImagePath:
400 | ps4NPtitleDatPath:
401 | ps4RemotePlayKeyAssignment: -1
402 | ps4RemotePlayKeyMappingDir:
403 | ps4PlayTogetherPlayerCount: 0
404 | ps4EnterButtonAssignment: 1
405 | ps4ApplicationParam1: 0
406 | ps4ApplicationParam2: 0
407 | ps4ApplicationParam3: 0
408 | ps4ApplicationParam4: 0
409 | ps4DownloadDataSize: 0
410 | ps4GarlicHeapSize: 2048
411 | ps4ProGarlicHeapSize: 2560
412 | ps4Passcode: ZuGXbEWRK5RhRXdCdG5nG5azdNMK66Mu
413 | ps4pnSessions: 1
414 | ps4pnPresence: 1
415 | ps4pnFriends: 1
416 | ps4pnGameCustomData: 1
417 | playerPrefsSupport: 0
418 | restrictedAudioUsageRights: 0
419 | ps4UseResolutionFallback: 0
420 | ps4ReprojectionSupport: 0
421 | ps4UseAudio3dBackend: 0
422 | ps4SocialScreenEnabled: 0
423 | ps4ScriptOptimizationLevel: 0
424 | ps4Audio3dVirtualSpeakerCount: 14
425 | ps4attribCpuUsage: 0
426 | ps4PatchPkgPath:
427 | ps4PatchLatestPkgPath:
428 | ps4PatchChangeinfoPath:
429 | ps4PatchDayOne: 0
430 | ps4attribUserManagement: 0
431 | ps4attribMoveSupport: 0
432 | ps4attrib3DSupport: 0
433 | ps4attribShareSupport: 0
434 | ps4attribExclusiveVR: 0
435 | ps4disableAutoHideSplash: 0
436 | ps4videoRecordingFeaturesUsed: 0
437 | ps4contentSearchFeaturesUsed: 0
438 | ps4attribEyeToEyeDistanceSettingVR: 0
439 | ps4IncludedModules: []
440 | monoEnv:
441 | psp2Splashimage: {fileID: 0}
442 | psp2NPTrophyPackPath:
443 | psp2NPSupportGBMorGJP: 0
444 | psp2NPAgeRating: 12
445 | psp2NPTitleDatPath:
446 | psp2NPCommsID:
447 | psp2NPCommunicationsID:
448 | psp2NPCommsPassphrase:
449 | psp2NPCommsSig:
450 | psp2ParamSfxPath:
451 | psp2ManualPath:
452 | psp2LiveAreaGatePath:
453 | psp2LiveAreaBackroundPath:
454 | psp2LiveAreaPath:
455 | psp2LiveAreaTrialPath:
456 | psp2PatchChangeInfoPath:
457 | psp2PatchOriginalPackage:
458 | psp2PackagePassword: CV6GXi5xr84P2R391UXaLHbavJvFZGfO
459 | psp2KeystoneFile:
460 | psp2MemoryExpansionMode: 0
461 | psp2DRMType: 0
462 | psp2StorageType: 0
463 | psp2MediaCapacity: 0
464 | psp2DLCConfigPath:
465 | psp2ThumbnailPath:
466 | psp2BackgroundPath:
467 | psp2SoundPath:
468 | psp2TrophyCommId:
469 | psp2TrophyPackagePath:
470 | psp2PackagedResourcesPath:
471 | psp2SaveDataQuota: 10240
472 | psp2ParentalLevel: 1
473 | psp2ShortTitle: Not Set
474 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
475 | psp2Category: 0
476 | psp2MasterVersion: 01.00
477 | psp2AppVersion: 01.00
478 | psp2TVBootMode: 0
479 | psp2EnterButtonAssignment: 2
480 | psp2TVDisableEmu: 0
481 | psp2AllowTwitterDialog: 1
482 | psp2Upgradable: 0
483 | psp2HealthWarning: 0
484 | psp2UseLibLocation: 0
485 | psp2InfoBarOnStartup: 0
486 | psp2InfoBarColor: 0
487 | psp2ScriptOptimizationLevel: 0
488 | psmSplashimage: {fileID: 0}
489 | splashScreenBackgroundSourceLandscape: {fileID: 0}
490 | splashScreenBackgroundSourcePortrait: {fileID: 0}
491 | spritePackerPolicy:
492 | webGLMemorySize: 256
493 | webGLExceptionSupport: 1
494 | webGLNameFilesAsHashes: 0
495 | webGLDataCaching: 0
496 | webGLDebugSymbols: 0
497 | webGLEmscriptenArgs:
498 | webGLModulesDirectory:
499 | webGLTemplate: APPLICATION:Default
500 | webGLAnalyzeBuildSize: 0
501 | webGLUseEmbeddedResources: 0
502 | webGLUseWasm: 0
503 | webGLCompressionFormat: 1
504 | scriptingDefineSymbols: {}
505 | platformArchitecture: {}
506 | scriptingBackend: {}
507 | incrementalIl2cppBuild: {}
508 | additionalIl2CppArgs:
509 | scriptingRuntimeVersion: 0
510 | apiCompatibilityLevelPerPlatform: {}
511 | m_RenderingPath: 1
512 | m_MobileRenderingPath: 1
513 | metroPackageName: AndroidUnityTest
514 | metroPackageVersion:
515 | metroCertificatePath:
516 | metroCertificatePassword:
517 | metroCertificateSubject:
518 | metroCertificateIssuer:
519 | metroCertificateNotAfter: 0000000000000000
520 | metroApplicationDescription: AndroidUnityTest
521 | wsaImages: {}
522 | metroTileShortName:
523 | metroCommandLineArgsFile:
524 | metroTileShowName: 0
525 | metroMediumTileShowName: 0
526 | metroLargeTileShowName: 0
527 | metroWideTileShowName: 0
528 | metroDefaultTileSize: 1
529 | metroTileForegroundText: 2
530 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
531 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
532 | a: 1}
533 | metroSplashScreenUseBackgroundColor: 0
534 | platformCapabilities: {}
535 | metroFTAName:
536 | metroFTAFileTypes: []
537 | metroProtocolName:
538 | metroCompilationOverrides: 1
539 | tizenProductDescription:
540 | tizenProductURL:
541 | tizenSigningProfileName:
542 | tizenGPSPermissions: 0
543 | tizenMicrophonePermissions: 0
544 | tizenDeploymentTarget:
545 | tizenDeploymentTargetType: -1
546 | tizenMinOSVersion: 1
547 | n3dsUseExtSaveData: 0
548 | n3dsCompressStaticMem: 1
549 | n3dsExtSaveDataNumber: 0x12345
550 | n3dsStackSize: 131072
551 | n3dsTargetPlatform: 2
552 | n3dsRegion: 7
553 | n3dsMediaSize: 0
554 | n3dsLogoStyle: 3
555 | n3dsTitle: GameName
556 | n3dsProductCode:
557 | n3dsApplicationId: 0xFF3FF
558 | stvDeviceAddress:
559 | stvProductDescription:
560 | stvProductAuthor:
561 | stvProductAuthorEmail:
562 | stvProductLink:
563 | stvProductCategory: 0
564 | XboxOneProductId:
565 | XboxOneUpdateKey:
566 | XboxOneSandboxId:
567 | XboxOneContentId:
568 | XboxOneTitleId:
569 | XboxOneSCId:
570 | XboxOneGameOsOverridePath:
571 | XboxOnePackagingOverridePath:
572 | XboxOneAppManifestOverridePath:
573 | XboxOnePackageEncryption: 0
574 | XboxOnePackageUpdateGranularity: 2
575 | XboxOneDescription:
576 | XboxOneLanguage:
577 | - enus
578 | XboxOneCapability: []
579 | XboxOneGameRating: {}
580 | XboxOneIsContentPackage: 0
581 | XboxOneEnableGPUVariability: 0
582 | XboxOneSockets: {}
583 | XboxOneSplashScreen: {fileID: 0}
584 | XboxOneAllowedProductIds: []
585 | XboxOnePersistentLocalStorageSize: 0
586 | xboxOneScriptCompiler: 0
587 | vrEditorSettings:
588 | daydream:
589 | daydreamIconForeground: {fileID: 0}
590 | daydreamIconBackground: {fileID: 0}
591 | cloudServicesEnabled:
592 | UNet: 1
593 | facebookSdkVersion: 7.9.4
594 | apiCompatibilityLevel: 2
595 | cloudProjectId: c7e98d38-ae63-4228-95b7-eb30e65453d6
596 | projectName: AndroidUnityTest
597 | organizationId: dinwy
598 | cloudEnabled: 0
599 | enableNativePlatformBackendsForNewInputSystem: 0
600 | disableOldInputManagerSupport: 0
601 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2017.1.1f1
2 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 4
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 0
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 4
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 70
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 2
136 | antiAliasing: 2
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 4
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 2
164 | antiAliasing: 2
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSM: 5
183 | PSP2: 2
184 | Standalone: 5
185 | Tizen: 2
186 | WebGL: 3
187 | WiiU: 5
188 | Windows Store Apps: 5
189 | XboxOne: 5
190 | iPhone: 2
191 | tvOS: 2
192 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate
14 | m_Enabled: 0
15 | m_CaptureEditorExceptions: 1
16 | UnityPurchasingSettings:
17 | m_Enabled: 0
18 | m_TestMode: 0
19 | UnityAnalyticsSettings:
20 | m_Enabled: 1
21 | m_InitializeOnStartup: 1
22 | m_TestMode: 0
23 | m_TestEventUrl:
24 | m_TestConfigUrl:
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | # Webview for Unity3D
2 |
3 | Simple Android & iOS webview plugin for Unity3D
4 | **This project is not able to run in Unity3D Editor**
5 |
6 | ## Requirements
7 |
8 | 1. Unity3D 2017.1 or Above (Not tested in previous version)
9 | 2. Android studio
10 | 3. Xcode
11 |
12 | ## Documentation
13 | [Wiki Page](https://github.com/Wizcorp/WebViewForUnity3D/wiki)
14 |
15 | ## How to run
16 |
17 | 1. Clone or download this repository
18 | 2. Open cloned or downloaded folder with Unity3D
19 | 3. Make a build for Android or iOS and test
20 |
21 | **For more information, please check the Wiki page**
22 |
23 | ## How to use in your project
24 |
25 | 1. Copy Assets/Plugins folder to your project
26 | 2. Build your game and test in Android and iOS
27 |
28 | ## Miscellaneous thing
29 |
30 | When you close the webview, application will send you a callback with string parameter.
31 | So, you could use it or ignore it.
--------------------------------------------------------------------------------
/UnityPackageManager/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | }
4 | }
5 |
--------------------------------------------------------------------------------