diff --git a/build/Rakefile b/build/Rakefile index 8e82e7de..7fb82eb7 100644 --- a/build/Rakefile +++ b/build/Rakefile @@ -64,8 +64,8 @@ task :build do end ["Android"].each do |t| Dir.chdir("#{SRCDIR[0]}/#{t}") do - sh "git clean -dxf .; ./install.sh" - sh "git clean -dxf .; ./install.sh --development" + sh "git clean -dxf .; ./install.sh --zorderpatch" + sh "git clean -dxf .; ./install.sh --zorderpatch --development" end end ["Mac"].each do |t| @@ -102,8 +102,8 @@ task :buildnofragment do end ["Android"].each do |t| Dir.chdir("#{SRCDIR[0]}/#{t}") do - sh "git clean -dxf .; ./install.sh --nofragment" - sh "git clean -dxf .; ./install.sh --nofragment --development" + sh "git clean -dxf .; ./install.sh --zorderpatch --nofragment" + sh "git clean -dxf .; ./install.sh --zorderpatch --nofragment --development" end end ["Mac"].each do |t| diff --git a/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl b/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl index c981c03d..4a98da79 100644 Binary files a/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl and b/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl differ diff --git a/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl b/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl index d93266d3..29c74059 100644 Binary files a/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl and b/dist/package-nofragment/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl differ diff --git a/dist/package-nofragment/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs b/dist/package-nofragment/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs index d2a72dbf..a04a29b6 100644 --- a/dist/package-nofragment/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs +++ b/dist/package-nofragment/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs @@ -95,6 +95,8 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { } } changed = (androidManifest.SetExported(true) || changed); + changed = (androidManifest.SetApplicationTheme("@style/UnityThemeSelector") || changed); + changed = (androidManifest.SetActivityTheme("@style/UnityThemeSelector.Translucent") || changed); changed = (androidManifest.SetWindowSoftInputMode("adjustPan") || changed); changed = (androidManifest.SetHardwareAccelerated(true) || changed); #if UNITYWEBVIEW_ANDROID_USES_CLEARTEXT_TRAFFIC @@ -107,6 +109,9 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif +//#if UNITY_5_6_0 || UNITY_5_6_1 + changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); +//#endif if (changed) { androidManifest.Save(); Debug.Log("unitywebview: adjusted AndroidManifest.xml."); @@ -217,9 +222,9 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif -#if UNITY_5_6_0 || UNITY_5_6_1 +//#if UNITY_5_6_0 || UNITY_5_6_1 changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); -#endif +//#endif if (changed) { androidManifest.Save(); Debug.LogError("unitywebview: adjusted AndroidManifest.xml and/or WebView.aar. Please rebuild the app."); @@ -281,6 +286,133 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { dst = (string)method.Invoke(proj, null); } File.WriteAllText(projPath, dst); + + // Classes/UI/UnityAppController+ViewHandling.mm + { + var text = File.ReadAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm"); + text = text.Replace( + @" + _rootController.view = _rootView = _unityView; +", + @" + UIView *view = [[UIView alloc] initWithFrame:controller.view.bounds]; + view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [view addSubview:_unityView]; + _rootController.view = _rootView = view; +"); + File.WriteAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm", text); + } + // Classes/UI/UnityView.h + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.h").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@interface UnityView : UnityRenderingView")) { + phase++; + } + break; + case 1: + lines.Add(line); + if (line.StartsWith("}")) { + phase++; + lines.Add(""); + lines.Add("- (void)clearMasks;"); + lines.Add("- (void)addMask:(CGRect)r;"); + } + break; + default: + lines.Add(line); + break; + } + } + File.WriteAllText(path + "/Classes/UI/UnityView.h", string.Join("\n", lines)); + } + // Classes/UI/UnityView.mm + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.mm").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@implementation UnityView")) { + phase++; + } + break; + case 1: + if (line.StartsWith("}")) { + phase++; + lines.Add(" NSMutableArray *_masks;"); + lines.Add(line); + lines.Add(@" +- (void)clearMasks +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks removeAllObjects]; +} + +- (void)addMask:(CGRect)r +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks addObject:[NSValue valueWithCGRect:r]]; +} + +- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event +{ + //CGRect mask = CGRectMake(0, 0, 1334, 100); + //return CGRectContainsPoint(mask, point); + for (NSValue *v in _masks) { + if (CGRectContainsPoint([v CGRectValue], point)) { + return TRUE; + } + } + return FALSE; +} +"); + } else { + lines.Add(line); + } + break; + default: + lines.Add(line); + break; + } + } + lines.Add(@" +extern ""C"" { + UIView *UnityGetGLView(); + void CWebViewPlugin_ClearMasks(); + void CWebViewPlugin_AddMask(int x, int y, int w, int h); +} + +void CWebViewPlugin_ClearMasks() +{ + [(UnityView *)UnityGetGLView() clearMasks]; +} + +void CWebViewPlugin_AddMask(int x, int y, int w, int h) +{ + UIView *view = UnityGetGLViewController().view; + CGFloat scale = 1.0f; + if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { + scale = view.window.screen.nativeScale; + } else { + scale = view.contentScaleFactor; + } + [(UnityView *)UnityGetGLView() addMask:CGRectMake(x / scale, y / scale, w / scale, h / scale)]; +} +"); + File.WriteAllText(path + "/Classes/UI/UnityView.mm", string.Join("\n", lines)); + } } } } @@ -357,6 +489,25 @@ internal bool SetExported(bool enabled) { return changed; } + internal bool SetApplicationTheme(string theme) { + bool changed = false; + if (ApplicationElement.GetAttribute("theme", AndroidXmlNamespace) != theme) { + ApplicationElement.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + + internal bool SetActivityTheme(string theme) { + bool changed = false; + var activity = GetActivityWithLaunchIntent() as XmlElement; + if (activity.GetAttribute("theme", AndroidXmlNamespace) != theme) { + activity.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + internal bool SetWindowSoftInputMode(string mode) { bool changed = false; var activity = GetActivityWithLaunchIntent() as XmlElement; diff --git a/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/Info.plist b/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/Info.plist index 6c1111d3..aa55452c 100644 --- a/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/Info.plist +++ b/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 24F74 + 24G84 CFBundleDevelopmentRegion English CFBundleExecutable diff --git a/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView b/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView index ad742c2d..d0f84b17 100755 Binary files a/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView and b/dist/package-nofragment/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView differ diff --git a/dist/package-nofragment/Assets/Plugins/WebViewObject.cs b/dist/package-nofragment/Assets/Plugins/WebViewObject.cs index 94dce7f1..e5bc67e7 100644 --- a/dist/package-nofragment/Assets/Plugins/WebViewObject.cs +++ b/dist/package-nofragment/Assets/Plugins/WebViewObject.cs @@ -512,6 +512,10 @@ private static extern void _CWebViewPlugin_Reload( [DllImport("WebView")] private static extern string _CWebViewPlugin_GetMessage(IntPtr instance); #elif UNITY_IPHONE + [DllImport("__Internal")] + private static extern void CWebViewPlugin_ClearMasks(); + [DllImport("__Internal")] + private static extern void CWebViewPlugin_AddMask(int x, int y, int w, int h); [DllImport("__Internal")] private static extern bool _CWebViewPlugin_IsInitialized( IntPtr instance); @@ -619,6 +623,32 @@ public static bool IsWebViewAvailable() #endif } + public static void ClearMasks() + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("clearMasks"); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_ClearMasks(); +#endif + } + + public static void AddMask(int x, int y, int w, int h) + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("addMask", x, y, w, h); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_AddMask(x, y, w, h); +#endif + } + public bool IsInitialized() { #if UNITY_WEBPLAYER || UNITY_WEBGL diff --git a/dist/package-nofragment/Assets/Plugins/iOS/WebView.mm b/dist/package-nofragment/Assets/Plugins/iOS/WebView.mm index b52c3df6..05a1e83b 100644 --- a/dist/package-nofragment/Assets/Plugins/iOS/WebView.mm +++ b/dist/package-nofragment/Assets/Plugins/iOS/WebView.mm @@ -269,7 +269,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; //set webview for Unity 6 accessibility hierarchy NSMutableArray *accessibilityElements diff --git a/dist/package-nofragment/Assets/Plugins/iOS/WebViewWithUIWebView.mm b/dist/package-nofragment/Assets/Plugins/iOS/WebViewWithUIWebView.mm index c8486298..bbc09835 100644 --- a/dist/package-nofragment/Assets/Plugins/iOS/WebViewWithUIWebView.mm +++ b/dist/package-nofragment/Assets/Plugins/iOS/WebViewWithUIWebView.mm @@ -329,7 +329,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; return self; } diff --git a/dist/package/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl b/dist/package/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl index 31480f06..896a1a05 100644 Binary files a/dist/package/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl and b/dist/package/Assets/Plugins/Android/WebViewPlugin-development.aar.tmpl differ diff --git a/dist/package/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl b/dist/package/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl index 627741ba..0b447a06 100644 Binary files a/dist/package/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl and b/dist/package/Assets/Plugins/Android/WebViewPlugin-release.aar.tmpl differ diff --git a/dist/package/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs b/dist/package/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs index 19d9a961..e689ffbb 100644 --- a/dist/package/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs +++ b/dist/package/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs @@ -95,6 +95,8 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { } } changed = (androidManifest.SetExported(true) || changed); + changed = (androidManifest.SetApplicationTheme("@style/UnityThemeSelector") || changed); + changed = (androidManifest.SetActivityTheme("@style/UnityThemeSelector.Translucent") || changed); changed = (androidManifest.SetWindowSoftInputMode("adjustPan") || changed); changed = (androidManifest.SetHardwareAccelerated(true) || changed); #if UNITYWEBVIEW_ANDROID_USES_CLEARTEXT_TRAFFIC @@ -107,6 +109,9 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif +//#if UNITY_5_6_0 || UNITY_5_6_1 + changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); +//#endif if (changed) { androidManifest.Save(); Debug.Log("unitywebview: adjusted AndroidManifest.xml."); @@ -217,9 +222,9 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif -#if UNITY_5_6_0 || UNITY_5_6_1 +//#if UNITY_5_6_0 || UNITY_5_6_1 changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); -#endif +//#endif if (changed) { androidManifest.Save(); Debug.LogError("unitywebview: adjusted AndroidManifest.xml and/or WebView.aar. Please rebuild the app."); @@ -281,6 +286,133 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { dst = (string)method.Invoke(proj, null); } File.WriteAllText(projPath, dst); + + // Classes/UI/UnityAppController+ViewHandling.mm + { + var text = File.ReadAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm"); + text = text.Replace( + @" + _rootController.view = _rootView = _unityView; +", + @" + UIView *view = [[UIView alloc] initWithFrame:controller.view.bounds]; + view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [view addSubview:_unityView]; + _rootController.view = _rootView = view; +"); + File.WriteAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm", text); + } + // Classes/UI/UnityView.h + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.h").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@interface UnityView : UnityRenderingView")) { + phase++; + } + break; + case 1: + lines.Add(line); + if (line.StartsWith("}")) { + phase++; + lines.Add(""); + lines.Add("- (void)clearMasks;"); + lines.Add("- (void)addMask:(CGRect)r;"); + } + break; + default: + lines.Add(line); + break; + } + } + File.WriteAllText(path + "/Classes/UI/UnityView.h", string.Join("\n", lines)); + } + // Classes/UI/UnityView.mm + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.mm").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@implementation UnityView")) { + phase++; + } + break; + case 1: + if (line.StartsWith("}")) { + phase++; + lines.Add(" NSMutableArray *_masks;"); + lines.Add(line); + lines.Add(@" +- (void)clearMasks +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks removeAllObjects]; +} + +- (void)addMask:(CGRect)r +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks addObject:[NSValue valueWithCGRect:r]]; +} + +- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event +{ + //CGRect mask = CGRectMake(0, 0, 1334, 100); + //return CGRectContainsPoint(mask, point); + for (NSValue *v in _masks) { + if (CGRectContainsPoint([v CGRectValue], point)) { + return TRUE; + } + } + return FALSE; +} +"); + } else { + lines.Add(line); + } + break; + default: + lines.Add(line); + break; + } + } + lines.Add(@" +extern ""C"" { + UIView *UnityGetGLView(); + void CWebViewPlugin_ClearMasks(); + void CWebViewPlugin_AddMask(int x, int y, int w, int h); +} + +void CWebViewPlugin_ClearMasks() +{ + [(UnityView *)UnityGetGLView() clearMasks]; +} + +void CWebViewPlugin_AddMask(int x, int y, int w, int h) +{ + UIView *view = UnityGetGLViewController().view; + CGFloat scale = 1.0f; + if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { + scale = view.window.screen.nativeScale; + } else { + scale = view.contentScaleFactor; + } + [(UnityView *)UnityGetGLView() addMask:CGRectMake(x / scale, y / scale, w / scale, h / scale)]; +} +"); + File.WriteAllText(path + "/Classes/UI/UnityView.mm", string.Join("\n", lines)); + } } } } @@ -357,6 +489,25 @@ internal bool SetExported(bool enabled) { return changed; } + internal bool SetApplicationTheme(string theme) { + bool changed = false; + if (ApplicationElement.GetAttribute("theme", AndroidXmlNamespace) != theme) { + ApplicationElement.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + + internal bool SetActivityTheme(string theme) { + bool changed = false; + var activity = GetActivityWithLaunchIntent() as XmlElement; + if (activity.GetAttribute("theme", AndroidXmlNamespace) != theme) { + activity.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + internal bool SetWindowSoftInputMode(string mode) { bool changed = false; var activity = GetActivityWithLaunchIntent() as XmlElement; diff --git a/dist/package/Assets/Plugins/WebView.bundle/Contents/Info.plist b/dist/package/Assets/Plugins/WebView.bundle/Contents/Info.plist index 6c1111d3..aa55452c 100644 --- a/dist/package/Assets/Plugins/WebView.bundle/Contents/Info.plist +++ b/dist/package/Assets/Plugins/WebView.bundle/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 24F74 + 24G84 CFBundleDevelopmentRegion English CFBundleExecutable diff --git a/dist/package/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView b/dist/package/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView index ad742c2d..d0f84b17 100755 Binary files a/dist/package/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView and b/dist/package/Assets/Plugins/WebView.bundle/Contents/MacOS/WebView differ diff --git a/dist/package/Assets/Plugins/WebViewObject.cs b/dist/package/Assets/Plugins/WebViewObject.cs index 94dce7f1..e5bc67e7 100644 --- a/dist/package/Assets/Plugins/WebViewObject.cs +++ b/dist/package/Assets/Plugins/WebViewObject.cs @@ -512,6 +512,10 @@ private static extern void _CWebViewPlugin_Reload( [DllImport("WebView")] private static extern string _CWebViewPlugin_GetMessage(IntPtr instance); #elif UNITY_IPHONE + [DllImport("__Internal")] + private static extern void CWebViewPlugin_ClearMasks(); + [DllImport("__Internal")] + private static extern void CWebViewPlugin_AddMask(int x, int y, int w, int h); [DllImport("__Internal")] private static extern bool _CWebViewPlugin_IsInitialized( IntPtr instance); @@ -619,6 +623,32 @@ public static bool IsWebViewAvailable() #endif } + public static void ClearMasks() + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("clearMasks"); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_ClearMasks(); +#endif + } + + public static void AddMask(int x, int y, int w, int h) + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("addMask", x, y, w, h); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_AddMask(x, y, w, h); +#endif + } + public bool IsInitialized() { #if UNITY_WEBPLAYER || UNITY_WEBGL diff --git a/dist/package/Assets/Plugins/iOS/WebView.mm b/dist/package/Assets/Plugins/iOS/WebView.mm index b52c3df6..05a1e83b 100644 --- a/dist/package/Assets/Plugins/iOS/WebView.mm +++ b/dist/package/Assets/Plugins/iOS/WebView.mm @@ -269,7 +269,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; //set webview for Unity 6 accessibility hierarchy NSMutableArray *accessibilityElements diff --git a/dist/package/Assets/Plugins/iOS/WebViewWithUIWebView.mm b/dist/package/Assets/Plugins/iOS/WebViewWithUIWebView.mm index c8486298..bbc09835 100644 --- a/dist/package/Assets/Plugins/iOS/WebViewWithUIWebView.mm +++ b/dist/package/Assets/Plugins/iOS/WebViewWithUIWebView.mm @@ -329,7 +329,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; return self; } diff --git a/dist/unity-webview-nofragment.unitypackage b/dist/unity-webview-nofragment.unitypackage index 74ef8d78..d6ead1d6 100644 Binary files a/dist/unity-webview-nofragment.unitypackage and b/dist/unity-webview-nofragment.unitypackage differ diff --git a/dist/unity-webview-nofragment.zip b/dist/unity-webview-nofragment.zip index 9e5dc3d8..2a2d2dc1 100644 Binary files a/dist/unity-webview-nofragment.zip and b/dist/unity-webview-nofragment.zip differ diff --git a/dist/unity-webview.unitypackage b/dist/unity-webview.unitypackage index dd59f0fc..b207679c 100644 Binary files a/dist/unity-webview.unitypackage and b/dist/unity-webview.unitypackage differ diff --git a/dist/unity-webview.zip b/dist/unity-webview.zip index 36831bf6..3b1b1a58 100644 Binary files a/dist/unity-webview.zip and b/dist/unity-webview.zip differ diff --git a/plugins/Android/install.sh b/plugins/Android/install.sh index 45b458a2..bc7f3ccf 100755 --- a/plugins/Android/install.sh +++ b/plugins/Android/install.sh @@ -28,7 +28,7 @@ fi # options TARGET="webview" MODE="Release" -UNITY='2019.4.40f1' +UNITY='6000.0.26f1' for OPT in $* do case $OPT in @@ -92,14 +92,6 @@ case $MODE in cp -a $tmp/CWebViewPlugin.java ${TARGET}/src/main/java/net/gree/unitywebview/CWebViewPlugin.java ;; esac -# remove CUnityPlayer*.java if UNITY != 5.6.1f1. -case $UNITY in -'5.6.1f1') - ;; -*) - rm -f ${TARGET}/src/main/java/net/gree/unitywebview/CUnityPlayer*.java - ;; -esac pushd $CWD diff --git a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayer.java b/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayer.java deleted file mode 100644 index c3f8e613..00000000 --- a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayer.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.gree.unitywebview; - -import com.unity3d.player.*; -import android.content.ContextWrapper; -import android.view.SurfaceView; -import android.view.View; - -public class CUnityPlayer - extends UnityPlayer -{ - public CUnityPlayer(ContextWrapper contextwrapper) { - super(contextwrapper); - } - - public void addView(View child) { - if (child instanceof SurfaceView) { - ((SurfaceView)child).setZOrderOnTop(false); - } - super.addView(child); - } -} diff --git a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java b/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java index 308d8a13..7296ddad 100644 --- a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java +++ b/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java @@ -1,18 +1,76 @@ package net.gree.unitywebview; -import com.unity3d.player.*; +import android.app.Activity; +import android.graphics.Color; +import android.graphics.Rect; +import android.os.Build; import android.os.Bundle; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; +import android.webkit.WebView; +import com.unity3d.player.*; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; public class CUnityPlayerActivity extends UnityPlayerActivity { + private List _webViewPlugins = new ArrayList(); + private List _masks = new ArrayList(); + @Override - public void onCreate(Bundle bundle) { - requestWindowFeature(1); - super.onCreate(bundle); - getWindow().setFormat(2); - mUnityPlayer = new CUnityPlayer(this); - setContentView(mUnityPlayer); - mUnityPlayer.requestFocus(); + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + // getWindow().getDecorView().setBackgroundColor(Color.BLACK); + // cf. https://stackoverflow.com/questions/9812427/android-how-to-programmatically-make-an-activity-window-transluscent + // cf. https://github.com/ikew0ng/SwipeBackLayout/blob/e4ddae6d2b8af9b606493cba36faef8beba94be2/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + setTranslucent(false); + } else { + try { + Method method = Activity.class.getDeclaredMethod("convertFromTranslucent"); + method.setAccessible(true); + method.invoke(this); + } catch (Throwable t) { + } + } + } + + @Override + public boolean dispatchTouchEvent(MotionEvent event) { + boolean inMask = false; + int pointerCount = event.getPointerCount(); + for (int p = 0; p < pointerCount; p++) { + float x = event.getX(p); + float y = event.getY(p); + for (Rect mask : _masks) { + if (mask.contains((int)x, (int)y)) { + inMask = true; + } + } + } + if (inMask && onTouchEvent(event)) { + return true; + } + return super.dispatchTouchEvent(event); + } + + void add(CWebViewPlugin webViewPlugin) { + _webViewPlugins.add(webViewPlugin); + } + + void remove(CWebViewPlugin webViewPlugin) { + _webViewPlugins.remove(webViewPlugin); + } + + public void clearMasks() { + _masks.clear(); + } + + public void addMask(int left, int top, int right, int bottom) { + _masks.add(new Rect(left, top, right, bottom)); } } diff --git a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CWebViewPlugin.java b/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CWebViewPlugin.java index dc6d3a15..2d73e30a 100644 --- a/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CWebViewPlugin.java +++ b/plugins/Android/webview-nofragment/src/main/java/net/gree/unitywebview/CWebViewPlugin.java @@ -106,8 +106,8 @@ public class CWebViewPlugin { private static boolean forceBringToFront; private static FrameLayout layout = null; private Queue mMessages = new ArrayDeque(); - private WebView mWebView; - private View mVideoView; + WebView mWebView; + View mVideoView; private OnGlobalLayoutListener mGlobalLayoutListener; private CWebViewPluginInterface mWebViewPlugin; private int progress; @@ -291,7 +291,7 @@ public void onHideCustomView() { super.onHideCustomView(); if (layout != null) { layout.removeView(mVideoView); - layout.setBackgroundColor(0x00000000); + layout.setBackgroundColor(0xff000000); mVideoView = null; } } @@ -612,6 +612,7 @@ public boolean onTouch(View view, MotionEvent event) { if (layout == null || layout.getParent() != a.findViewById(android.R.id.content)) { layout = new FrameLayout(a); + layout.setBackgroundColor(0xff000000); a.addContentView( layout, new LayoutParams( @@ -627,6 +628,7 @@ public boolean onTouch(View view, MotionEvent event) { LayoutParams.MATCH_PARENT, Gravity.NO_GRAVITY)); mWebView = webView; + ((CUnityPlayerActivity)a).add(self); }}); final View activityRootView = a.getWindow().getDecorView().getRootView(); @@ -675,6 +677,7 @@ public void onGlobalLayout() { public void Destroy() { final Activity a = UnityPlayer.currentActivity; + ((CUnityPlayerActivity)a).remove(this); if (CWebViewPlugin.isDestroyed(a)) { return; } @@ -692,7 +695,7 @@ public void Destroy() { webView.stopLoading(); if (mVideoView != null) { layout.removeView(mVideoView); - layout.setBackgroundColor(0x00000000); + layout.setBackgroundColor(0xff000000); mVideoView = null; } layout.removeView(webView); @@ -844,7 +847,7 @@ public void SetVisibility(final boolean visibility) { ((ViewGroup)layout.getParent().getParent()).requestLayout(); } if (forceBringToFront && layout != null) { - layout.bringToFront(); + //layout.bringToFront(); } } else { mWebView.setVisibility(View.GONE); @@ -979,7 +982,7 @@ public void OnApplicationPause(final boolean paused) { mWebView.onResume(); mWebView.resumeTimers(); if (forceBringToFront && layout != null) { - layout.bringToFront(); + //layout.bringToFront(); } } }}); diff --git a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayer.java b/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayer.java deleted file mode 100644 index c3f8e613..00000000 --- a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayer.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.gree.unitywebview; - -import com.unity3d.player.*; -import android.content.ContextWrapper; -import android.view.SurfaceView; -import android.view.View; - -public class CUnityPlayer - extends UnityPlayer -{ - public CUnityPlayer(ContextWrapper contextwrapper) { - super(contextwrapper); - } - - public void addView(View child) { - if (child instanceof SurfaceView) { - ((SurfaceView)child).setZOrderOnTop(false); - } - super.addView(child); - } -} diff --git a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java b/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java index 308d8a13..7296ddad 100644 --- a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java +++ b/plugins/Android/webview/src/main/java/net/gree/unitywebview/CUnityPlayerActivity.java @@ -1,18 +1,76 @@ package net.gree.unitywebview; -import com.unity3d.player.*; +import android.app.Activity; +import android.graphics.Color; +import android.graphics.Rect; +import android.os.Build; import android.os.Bundle; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; +import android.webkit.WebView; +import com.unity3d.player.*; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; public class CUnityPlayerActivity extends UnityPlayerActivity { + private List _webViewPlugins = new ArrayList(); + private List _masks = new ArrayList(); + @Override - public void onCreate(Bundle bundle) { - requestWindowFeature(1); - super.onCreate(bundle); - getWindow().setFormat(2); - mUnityPlayer = new CUnityPlayer(this); - setContentView(mUnityPlayer); - mUnityPlayer.requestFocus(); + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + // getWindow().getDecorView().setBackgroundColor(Color.BLACK); + // cf. https://stackoverflow.com/questions/9812427/android-how-to-programmatically-make-an-activity-window-transluscent + // cf. https://github.com/ikew0ng/SwipeBackLayout/blob/e4ddae6d2b8af9b606493cba36faef8beba94be2/library/src/main/java/me/imid/swipebacklayout/lib/Utils.java + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + setTranslucent(false); + } else { + try { + Method method = Activity.class.getDeclaredMethod("convertFromTranslucent"); + method.setAccessible(true); + method.invoke(this); + } catch (Throwable t) { + } + } + } + + @Override + public boolean dispatchTouchEvent(MotionEvent event) { + boolean inMask = false; + int pointerCount = event.getPointerCount(); + for (int p = 0; p < pointerCount; p++) { + float x = event.getX(p); + float y = event.getY(p); + for (Rect mask : _masks) { + if (mask.contains((int)x, (int)y)) { + inMask = true; + } + } + } + if (inMask && onTouchEvent(event)) { + return true; + } + return super.dispatchTouchEvent(event); + } + + void add(CWebViewPlugin webViewPlugin) { + _webViewPlugins.add(webViewPlugin); + } + + void remove(CWebViewPlugin webViewPlugin) { + _webViewPlugins.remove(webViewPlugin); + } + + public void clearMasks() { + _masks.clear(); + } + + public void addMask(int left, int top, int right, int bottom) { + _masks.add(new Rect(left, top, right, bottom)); } } diff --git a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CWebViewPlugin.java b/plugins/Android/webview/src/main/java/net/gree/unitywebview/CWebViewPlugin.java index 6e5b284f..bf45c77b 100644 --- a/plugins/Android/webview/src/main/java/net/gree/unitywebview/CWebViewPlugin.java +++ b/plugins/Android/webview/src/main/java/net/gree/unitywebview/CWebViewPlugin.java @@ -137,8 +137,8 @@ public class CWebViewPlugin extends Fragment { private static boolean forceBringToFront; private static FrameLayout layout = null; private Queue mMessages = new ArrayDeque(); - private WebView mWebView; - private View mVideoView; + WebView mWebView; + View mVideoView; private OnGlobalLayoutListener mGlobalLayoutListener; private CWebViewPluginInterface mWebViewPlugin; private int progress; @@ -512,7 +512,7 @@ public void onHideCustomView() { super.onHideCustomView(); if (layout != null) { layout.removeView(mVideoView); - layout.setBackgroundColor(0x00000000); + layout.setBackgroundColor(0xff000000); mVideoView = null; } } @@ -866,6 +866,7 @@ public boolean onTouch(View view, MotionEvent event) { if (layout == null || layout.getParent() != a.findViewById(android.R.id.content)) { layout = new FrameLayout(a); + layout.setBackgroundColor(0xff000000); a.addContentView( layout, new LayoutParams( @@ -881,6 +882,7 @@ public boolean onTouch(View view, MotionEvent event) { LayoutParams.MATCH_PARENT, Gravity.NO_GRAVITY)); mWebView = webView; + ((CUnityPlayerActivity)a).add(self); }}); final View activityRootView = a.getWindow().getDecorView().getRootView(); @@ -992,6 +994,7 @@ private File createImageFile() throws IOException { public void Destroy() { final Activity a = UnityPlayer.currentActivity; final CWebViewPlugin self = this; + ((CUnityPlayerActivity)a).remove(self); mMessages.clear(); if (CWebViewPlugin.isDestroyed(a)) { return; @@ -1010,7 +1013,7 @@ public void Destroy() { webView.stopLoading(); if (mVideoView != null) { layout.removeView(mVideoView); - layout.setBackgroundColor(0x00000000); + layout.setBackgroundColor(0xff000000); mVideoView = null; } layout.removeView(webView); @@ -1176,7 +1179,7 @@ public void SetVisibility(final boolean visibility) { ((ViewGroup)layout.getParent().getParent()).requestLayout(); } if (forceBringToFront && layout != null) { - layout.bringToFront(); + //layout.bringToFront(); } } else { mWebView.setVisibility(View.GONE); @@ -1336,7 +1339,7 @@ public void OnApplicationPause(boolean paused) { mWebView.onResume(); mWebView.resumeTimers(); if (forceBringToFront && layout != null) { - layout.bringToFront(); + //layout.bringToFront(); } } }}); diff --git a/plugins/Editor/UnityWebViewPostprocessBuild.cs b/plugins/Editor/UnityWebViewPostprocessBuild.cs index 19d9a961..e689ffbb 100644 --- a/plugins/Editor/UnityWebViewPostprocessBuild.cs +++ b/plugins/Editor/UnityWebViewPostprocessBuild.cs @@ -95,6 +95,8 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { } } changed = (androidManifest.SetExported(true) || changed); + changed = (androidManifest.SetApplicationTheme("@style/UnityThemeSelector") || changed); + changed = (androidManifest.SetActivityTheme("@style/UnityThemeSelector.Translucent") || changed); changed = (androidManifest.SetWindowSoftInputMode("adjustPan") || changed); changed = (androidManifest.SetHardwareAccelerated(true) || changed); #if UNITYWEBVIEW_ANDROID_USES_CLEARTEXT_TRAFFIC @@ -107,6 +109,9 @@ public void OnPostGenerateGradleAndroidProject(string basePath) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif +//#if UNITY_5_6_0 || UNITY_5_6_1 + changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); +//#endif if (changed) { androidManifest.Save(); Debug.Log("unitywebview: adjusted AndroidManifest.xml."); @@ -217,9 +222,9 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE changed = (androidManifest.AddMicrophone() || changed); #endif -#if UNITY_5_6_0 || UNITY_5_6_1 +//#if UNITY_5_6_0 || UNITY_5_6_1 changed = (androidManifest.SetActivityName("net.gree.unitywebview.CUnityPlayerActivity") || changed); -#endif +//#endif if (changed) { androidManifest.Save(); Debug.LogError("unitywebview: adjusted AndroidManifest.xml and/or WebView.aar. Please rebuild the app."); @@ -281,6 +286,133 @@ public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { dst = (string)method.Invoke(proj, null); } File.WriteAllText(projPath, dst); + + // Classes/UI/UnityAppController+ViewHandling.mm + { + var text = File.ReadAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm"); + text = text.Replace( + @" + _rootController.view = _rootView = _unityView; +", + @" + UIView *view = [[UIView alloc] initWithFrame:controller.view.bounds]; + view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [view addSubview:_unityView]; + _rootController.view = _rootView = view; +"); + File.WriteAllText(path + "/Classes/UI/UnityAppController+ViewHandling.mm", text); + } + // Classes/UI/UnityView.h + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.h").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@interface UnityView : UnityRenderingView")) { + phase++; + } + break; + case 1: + lines.Add(line); + if (line.StartsWith("}")) { + phase++; + lines.Add(""); + lines.Add("- (void)clearMasks;"); + lines.Add("- (void)addMask:(CGRect)r;"); + } + break; + default: + lines.Add(line); + break; + } + } + File.WriteAllText(path + "/Classes/UI/UnityView.h", string.Join("\n", lines)); + } + // Classes/UI/UnityView.mm + { + var lines0 = File.ReadAllText(path + "/Classes/UI/UnityView.mm").Split('\n'); + var lines = new List(); + var phase = 0; + foreach (var line in lines0) { + switch (phase) { + case 0: + lines.Add(line); + if (line.StartsWith("@implementation UnityView")) { + phase++; + } + break; + case 1: + if (line.StartsWith("}")) { + phase++; + lines.Add(" NSMutableArray *_masks;"); + lines.Add(line); + lines.Add(@" +- (void)clearMasks +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks removeAllObjects]; +} + +- (void)addMask:(CGRect)r +{ + if (_masks == nil) { + _masks = [[NSMutableArray alloc] init]; + } + [_masks addObject:[NSValue valueWithCGRect:r]]; +} + +- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event +{ + //CGRect mask = CGRectMake(0, 0, 1334, 100); + //return CGRectContainsPoint(mask, point); + for (NSValue *v in _masks) { + if (CGRectContainsPoint([v CGRectValue], point)) { + return TRUE; + } + } + return FALSE; +} +"); + } else { + lines.Add(line); + } + break; + default: + lines.Add(line); + break; + } + } + lines.Add(@" +extern ""C"" { + UIView *UnityGetGLView(); + void CWebViewPlugin_ClearMasks(); + void CWebViewPlugin_AddMask(int x, int y, int w, int h); +} + +void CWebViewPlugin_ClearMasks() +{ + [(UnityView *)UnityGetGLView() clearMasks]; +} + +void CWebViewPlugin_AddMask(int x, int y, int w, int h) +{ + UIView *view = UnityGetGLViewController().view; + CGFloat scale = 1.0f; + if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { + scale = view.window.screen.nativeScale; + } else { + scale = view.contentScaleFactor; + } + [(UnityView *)UnityGetGLView() addMask:CGRectMake(x / scale, y / scale, w / scale, h / scale)]; +} +"); + File.WriteAllText(path + "/Classes/UI/UnityView.mm", string.Join("\n", lines)); + } } } } @@ -357,6 +489,25 @@ internal bool SetExported(bool enabled) { return changed; } + internal bool SetApplicationTheme(string theme) { + bool changed = false; + if (ApplicationElement.GetAttribute("theme", AndroidXmlNamespace) != theme) { + ApplicationElement.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + + internal bool SetActivityTheme(string theme) { + bool changed = false; + var activity = GetActivityWithLaunchIntent() as XmlElement; + if (activity.GetAttribute("theme", AndroidXmlNamespace) != theme) { + activity.SetAttribute("theme", AndroidXmlNamespace, theme); + changed = true; + } + return changed; + } + internal bool SetWindowSoftInputMode(string mode) { bool changed = false; var activity = GetActivityWithLaunchIntent() as XmlElement; diff --git a/plugins/WebViewObject.cs b/plugins/WebViewObject.cs index 94dce7f1..e5bc67e7 100644 --- a/plugins/WebViewObject.cs +++ b/plugins/WebViewObject.cs @@ -512,6 +512,10 @@ private static extern void _CWebViewPlugin_Reload( [DllImport("WebView")] private static extern string _CWebViewPlugin_GetMessage(IntPtr instance); #elif UNITY_IPHONE + [DllImport("__Internal")] + private static extern void CWebViewPlugin_ClearMasks(); + [DllImport("__Internal")] + private static extern void CWebViewPlugin_AddMask(int x, int y, int w, int h); [DllImport("__Internal")] private static extern bool _CWebViewPlugin_IsInitialized( IntPtr instance); @@ -619,6 +623,32 @@ public static bool IsWebViewAvailable() #endif } + public static void ClearMasks() + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("clearMasks"); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_ClearMasks(); +#endif + } + + public static void AddMask(int x, int y, int w, int h) + { +#if !UNITY_EDITOR && UNITY_ANDROID + using(AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + var activity = UnityClass.GetStatic("currentActivity"); + activity.Call("addMask", x, y, w, h); + } +#elif !UNITY_EDITOR && UNITY_IPHONE + CWebViewPlugin_AddMask(x, y, w, h); +#endif + } + public bool IsInitialized() { #if UNITY_WEBPLAYER || UNITY_WEBGL diff --git a/plugins/iOS/WebView.mm b/plugins/iOS/WebView.mm index b52c3df6..05a1e83b 100644 --- a/plugins/iOS/WebView.mm +++ b/plugins/iOS/WebView.mm @@ -269,7 +269,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; //set webview for Unity 6 accessibility hierarchy NSMutableArray *accessibilityElements diff --git a/plugins/iOS/WebViewWithUIWebView.mm b/plugins/iOS/WebViewWithUIWebView.mm index c8486298..bbc09835 100644 --- a/plugins/iOS/WebViewWithUIWebView.mm +++ b/plugins/iOS/WebViewWithUIWebView.mm @@ -329,7 +329,7 @@ - (id)initWithGameObjectName:(const char *)gameObjectName_ transparent:(BOOL)tra [webView addObserver:self forKeyPath: @"loading" options: NSKeyValueObservingOptionNew context:nil]; - [view addSubview:webView]; + [view insertSubview:webView atIndex:0]; return self; } diff --git a/sample/Assets/Sample.unity b/sample/Assets/Sample.unity index 6ed5b1cf..ad89352a 100644 --- a/sample/Assets/Sample.unity +++ b/sample/Assets/Sample.unity @@ -13,7 +13,7 @@ OcclusionCullingSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 8 + serializedVersion: 9 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -38,31 +38,30 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 9 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 m_IndirectOutputScale: 1 m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 m_EnvironmentLightingMode: 0 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 8 + serializedVersion: 12 m_Resolution: 1 m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 + m_AtlasSize: 1024 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 0 m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -77,10 +76,16 @@ LightmapSettings: m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 - m_PVRFilteringMode: 0 + m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 @@ -88,14 +93,18 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_ShadowMaskMode: 2 + m_LightingSettings: {fileID: 4890085278179872738, guid: ac761aa0297ac44738f128cd20accd64, + type: 2} --- !u!196 &5 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -108,14 +117,19 @@ NavMeshSettings: cellSize: 0.16666666 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 m_NavMeshData: {fileID: 0} --- !u!1 &123026519 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 123026520} - component: {fileID: 123026522} @@ -131,15 +145,16 @@ GameObject: --- !u!224 &123026520 RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 123026519} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1514150239} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -149,22 +164,23 @@ RectTransform: --- !u!114 &123026521 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 123026519} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 0.5019608, g: 1, b: 0.5019608, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} m_FontSize: 36 @@ -178,18 +194,21 @@ MonoBehaviour: m_HorizontalOverflow: 1 m_VerticalOverflow: 1 m_LineSpacing: 1 - m_Text: '...' + m_Text: ... --- !u!222 &123026522 CanvasRenderer: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 123026519} + m_CullTransparentMesh: 1 --- !u!111 &123026523 Animation: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 123026519} m_Enabled: 1 serializedVersion: 3 @@ -203,9 +222,10 @@ Animation: --- !u!1 &568469716 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 568469717} - component: {fileID: 568469719} @@ -219,21 +239,24 @@ GameObject: --- !u!4 &568469717 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 568469716} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &568469719 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 568469716} m_Enabled: 1 m_EditorHideFlags: 0 @@ -245,9 +268,10 @@ MonoBehaviour: --- !u!1 &1257165921 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 1257165924} - component: {fileID: 1257165923} @@ -262,14 +286,16 @@ GameObject: --- !u!114 &1257165922 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1257165921} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} m_Name: m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 m_HorizontalAxis: Horizontal m_VerticalAxis: Vertical m_SubmitButton: Submit @@ -280,12 +306,13 @@ MonoBehaviour: --- !u!114 &1257165923 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1257165921} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} m_Name: m_EditorClassIdentifier: m_FirstSelected: {fileID: 0} @@ -294,22 +321,25 @@ MonoBehaviour: --- !u!4 &1257165924 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1257165921} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1514150235 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 1514150239} - component: {fileID: 1514150238} @@ -325,12 +355,13 @@ GameObject: --- !u!114 &1514150236 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1514150235} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} m_Name: m_EditorClassIdentifier: m_IgnoreReversedGraphics: 1 @@ -341,12 +372,13 @@ MonoBehaviour: --- !u!114 &1514150237 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1514150235} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: m_UiScaleMode: 0 @@ -359,11 +391,13 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1514150238 Canvas: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1514150235} m_Enabled: 1 serializedVersion: 3 @@ -375,23 +409,26 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 --- !u!224 &1514150239 RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1514150235} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 123026520} m_Father: {fileID: 0} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -401,9 +438,10 @@ RectTransform: --- !u!1 &2037177669 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 2037177670} - component: {fileID: 2037177671} @@ -419,26 +457,43 @@ GameObject: --- !u!4 &2037177670 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2037177669} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!20 &2037177671 Camera: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2037177669} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -460,22 +515,32 @@ Camera: m_TargetEye: 3 m_HDR: 0 m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 m_ForceIntoRT: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 --- !u!81 &2037177672 AudioListener: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2037177669} m_Enabled: 1 --- !u!124 &2037177674 Behaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2037177669} m_Enabled: 1 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 2037177670} + - {fileID: 568469717} + - {fileID: 1514150239} + - {fileID: 1257165924} diff --git a/sample/Assets/SampleSettings.lighting b/sample/Assets/SampleSettings.lighting new file mode 100644 index 00000000..551aeff6 --- /dev/null +++ b/sample/Assets/SampleSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: SampleSettings + serializedVersion: 3 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 50 + m_Padding: 2 + m_TextureCompression: 0 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/sample/Assets/SampleSettings.lighting.meta b/sample/Assets/SampleSettings.lighting.meta new file mode 100644 index 00000000..aa0db03e --- /dev/null +++ b/sample/Assets/SampleSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac761aa0297ac44738f128cd20accd64 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/sample/Assets/Scripts/SampleWebView.cs b/sample/Assets/Scripts/SampleWebView.cs index d06f28ca..9c05d866 100644 --- a/sample/Assets/Scripts/SampleWebView.cs +++ b/sample/Assets/Scripts/SampleWebView.cs @@ -156,11 +156,14 @@ IEnumerator Start() //webViewObject.SetScrollbarsVisibility(true); - webViewObject.SetMargins(5, 100, 5, Screen.height / 4); + webViewObject.SetMargins(5, 50, 5, Screen.height / 4); webViewObject.SetTextZoom(100); // android only. cf. https://stackoverflow.com/questions/21647641/android-webview-set-font-size-system-default/47017410#47017410 //webViewObject.SetMixedContentMode(2); // android only. 0: MIXED_CONTENT_ALWAYS_ALLOW, 1: MIXED_CONTENT_NEVER_ALLOW, 2: MIXED_CONTENT_COMPATIBILITY_MODE webViewObject.SetVisibility(true); + WebViewObject.ClearMasks(); + WebViewObject.AddMask(0, 0, Screen.width, 100); + #if !UNITY_WEBPLAYER && !UNITY_WEBGL if (Url.StartsWith("http")) { webViewObject.LoadURL(Url.Replace(" ", "%20")); diff --git a/sample/Packages/manifest.json b/sample/Packages/manifest.json new file mode 100644 index 00000000..ddf06af4 --- /dev/null +++ b/sample/Packages/manifest.json @@ -0,0 +1,45 @@ +{ + "dependencies": { + "com.unity.ai.navigation": "1.1.6", + "com.unity.collab-proxy": "2.7.1", + "com.unity.ide.rider": "3.0.36", + "com.unity.ide.visualstudio": "2.0.22", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.33", + "com.unity.textmeshpro": "3.0.7", + "com.unity.timeline": "1.7.7", + "com.unity.ugui": "1.0.0", + "net.gree.unity-webview": "file:../../dist/package", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/sample/Packages/packages-lock.json b/sample/Packages/packages-lock.json new file mode 100644 index 00000000..e01600f5 --- /dev/null +++ b/sample/Packages/packages-lock.json @@ -0,0 +1,342 @@ +{ + "dependencies": { + "com.unity.ai.navigation": { + "version": "1.1.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.collab-proxy": { + "version": "2.7.1", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "3.0.36", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.22", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.33", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.7.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "net.gree.unity-webview": { + "version": "file:../../dist/package", + "depth": 0, + "source": "local", + "dependencies": {} + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/sample/ProjectSettings/MemorySettings.asset b/sample/ProjectSettings/MemorySettings.asset new file mode 100644 index 00000000..5b5facec --- /dev/null +++ b/sample/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/sample/ProjectSettings/PackageManagerSettings.asset b/sample/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..6457bee8 --- /dev/null +++ b/sample/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_ConfigSource: 0 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_ConfigSource: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/sample/ProjectSettings/PresetManager.asset b/sample/ProjectSettings/PresetManager.asset new file mode 100644 index 00000000..67a94dae --- /dev/null +++ b/sample/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/sample/ProjectSettings/ProjectSettings.asset b/sample/ProjectSettings/ProjectSettings.asset index ed70c84c..8690d614 100644 --- a/sample/ProjectSettings/ProjectSettings.asset +++ b/sample/ProjectSettings/ProjectSettings.asset @@ -3,9 +3,11 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 26 productGUID: 17d7a4b3e162f44209a850d2bb945e86 AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 defaultScreenOrientation: 4 targetDevice: 2 useOnDemandResources: 0 @@ -14,7 +16,7 @@ PlayerSettings: productName: sample defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} - m_SplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21176471, a: 1} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} m_ShowUnitySplashScreen: 1 m_ShowUnitySplashLogo: 1 m_SplashScreenOverlayOpacity: 1 @@ -38,8 +40,6 @@ PlayerSettings: width: 1 height: 1 m_SplashScreenLogos: [] - m_SplashScreenBackgroundLandscape: {fileID: 0} - m_SplashScreenBackgroundPortrait: {fileID: 0} m_VirtualRealitySplashScreen: {fileID: 0} m_HolographicTrackingLossScreen: {fileID: 0} defaultScreenWidth: 1024 @@ -48,39 +48,56 @@ PlayerSettings: defaultScreenHeightWeb: 320 m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 + unsupportedMSAAFallback: 0 + m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 - m_MobileMTRendering: 0 + mipStripping: 0 + numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 - tizenShowActivityIndicatorOnLoading: -1 - iosAppInBackgroundBehavior: 0 - displayResolutionDialog: 1 - iosAllowHTTPDownload: 1 + iosUseCustomAppBackgroundBehavior: 0 allowedAutorotateToPortrait: 0 allowedAutorotateToPortraitUpsideDown: 0 allowedAutorotateToLandscapeRight: 1 allowedAutorotateToLandscapeLeft: 1 useOSAutorotation: 1 - use32BitDisplayBuffer: 0 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 1 disableDepthAndStencilBuffers: 0 - defaultIsFullScreen: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 0 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + androidAutoRotationBehavior: 1 + androidPredictiveBackSupport: 1 defaultIsNativeResolution: 1 + macRetinaSupport: 1 runInBackground: 0 captureSingleScreen: 0 muteOtherAudioSources: 0 Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 deferSystemGesturesMode: 0 hideHomeButton: 0 submitAnalytics: 1 usePlayerLog: 1 + dedicatedServerOptimizations: 0 bakeCollisionMeshes: 0 forceSingleInstance: 0 + useFlipModelSwapchain: 1 resizableWindow: 0 useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games gpuSkinning: 0 - graphicsJobs: 0 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 @@ -88,68 +105,77 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 0 allowFullscreenSwitch: 1 - graphicsJobMode: 0 - macFullscreenMode: 2 - d3d9FullscreenMode: 1 - d3d11FullscreenMode: 1 + fullscreenMode: 2 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 xboxEnablePIXSampling: 0 - n3dsDisableStereoscopicView: 0 - n3dsEnableSharedListOpt: 1 - n3dsEnableVSync: 0 - ignoreAlphaClear: 0 + metalFramebufferOnly: 0 xboxOneResolution: 0 xboxOneSResolution: 0 xboxOneXResolution: 3 xboxOneMonoLoggingLevel: 0 xboxOneLoggingLevel: 1 - videoMemoryForVertexBuffers: 0 - psp2PowerMode: 0 - psp2AcquireBGM: 1 - wiiUTVResolution: 0 - wiiUGamePadMSAA: 1 - wiiUSupportsNunchuk: 0 - wiiUSupportsClassicController: 0 - wiiUSupportsBalanceBoard: 0 - wiiUSupportsMotionPlus: 0 - wiiUSupportsProController: 0 - wiiUAllowScreenCapture: 1 - wiiUControllerCount: 0 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 1048576 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 + switchMaxWorkerMultiple: 8 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + loadStoreDebugModeEnabled: 0 + visionOSBundleVersion: 1.0 + tvOSBundleVersion: 1.0 bundleVersion: 1.0 preloadedAssets: [] metroInputSource: 0 + wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 xboxOneDisableKinectGpuReservation: 0 xboxOneEnable7thCore: 0 vrSettings: - cardboard: - depthFormat: 0 - enableTransitionView: 0 - daydream: - depthFormat: 0 - useSustainedPerformanceMode: 0 - hololens: - depthFormat: 1 - protectGraphicsMemory: 0 + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 useHDRDisplay: 0 + hdrBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 applicationIdentifier: Android: net.gree.webview.sample Standalone: unity.Sample Inc..sample Tizen: net.gree.webview.sample - iOS: net.gree.webview.sample + iPhone: net.gree.webview.sample tvOS: net.gree.webview.sample buildNumber: - iOS: 0 + Standalone: 0 + VisionOS: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 1 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 16 + AndroidMinSdkVersion: 22 AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 1 aotOptions: @@ -162,37 +188,29 @@ PlayerSettings: APKExpansionFiles: 0 keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 0 - VertexChannelCompressionMask: - serializedVersion: 2 - m_Bits: 238 + strictShaderVariantMatching: 0 + VertexChannelCompressionMask: 214 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 6.0 + iOSSimulatorArchitecture: 0 + iOSTargetOSVersionString: 12.0 tvOSSdkVersion: 0 + tvOSSimulatorArchitecture: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 9.0 + tvOSTargetOSVersionString: 12.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 uIStatusBarHidden: 1 uIExitOnSuspend: 0 uIStatusBarStyle: 0 - iPhoneSplashScreen: {fileID: 0} - iPhoneHighResSplashScreen: {fileID: 0} - iPhoneTallHighResSplashScreen: {fileID: 0} - iPhone47inSplashScreen: {fileID: 0} - iPhone55inPortraitSplashScreen: {fileID: 0} - iPhone55inLandscapeSplashScreen: {fileID: 0} - iPhone58inPortraitSplashScreen: {fileID: 0} - iPhone58inLandscapeSplashScreen: {fileID: 0} - iPadPortraitSplashScreen: {fileID: 0} - iPadHighResPortraitSplashScreen: {fileID: 0} - iPadLandscapeSplashScreen: {fileID: 0} - iPadHighResLandscapeSplashScreen: {fileID: 0} appleTVSplashScreen: {fileID: 0} appleTVSplashScreen2x: {fileID: 0} tvOSSmallIconLayers: [] tvOSSmallIconLayers2x: [] tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] tvOSTopShelfImageLayers: [] tvOSTopShelfImageLayers2x: [] tvOSTopShelfImageWideLayers: [] @@ -214,31 +232,65 @@ PlayerSettings: iOSLaunchScreeniPadFillPct: 100 iOSLaunchScreeniPadSize: 100 iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: iOSDeviceRequirements: [] iOSURLSchemes: [] + macOSURLSchemes: [] iOSBackgroundModes: 0 iOSMetalForceHardShadows: 0 metalEditorSupport: 0 metalAPIValidation: 1 + metalCompileShaderBinary: 0 iOSRenderExtraFrameOnPause: 1 + iosCopyPluginsCodeInsteadOfSymlink: 0 appleDeveloperTeamID: iOSManualSigningProvisioningProfileID: tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 appleEnableAutomaticSigning: 0 - AndroidTargetDevice: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: 00000000000000000000000000000000 + templatePackageId: + templateDefaultScene: + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} - AndroidKeystoreName: + AndroidKeystoreName: '{inproject}: ' AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 + AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 1 AndroidIsGame: 1 + AndroidEnableTango: 0 androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 m_AndroidBanners: - width: 320 height: 180 banner: {fileID: 0} androidGamepadSupportLevel: 0 - resolutionDialogBanner: {fileID: 0} + chromeosInputEmulation: 1 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 m_BuildTargetIcons: - m_BuildTarget: m_Icons: @@ -247,41 +299,103 @@ PlayerSettings: m_Width: 128 m_Height: 128 m_Kind: 0 - m_BuildTargetBatching: [] + m_BuildTargetPlatformIcons: [] + m_BuildTargetBatching: + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 1 + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: GameCoreScarlettSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 0 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: PS5Player + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: GameCoreXboxOneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: CloudRendering + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 0 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 0 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 m_BuildTargetGraphicsAPIs: - m_BuildTarget: WindowsStandaloneSupport - m_APIs: 01000000 - m_Automatic: 0 + m_APIs: 02000000 + m_Automatic: 1 - m_BuildTarget: AndroidPlayer m_APIs: 08000000 m_Automatic: 0 - m_BuildTarget: MacStandaloneSupport m_APIs: 11000000 m_Automatic: 0 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 m_BuildTargetVRSettings: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 openGLRequireES31: 0 openGLRequireES31AEP: 0 - webPlayerTemplate: PROJECT:unity-webview + openGLRequireES32: 0 m_TemplateCustomTags: {} - wiiUTitleID: 0005000011000000 - wiiUGroupID: 00010000 - wiiUCommonSaveSize: 4096 - wiiUAccountSaveSize: 2048 - wiiUOlvAccessKey: 0 - wiiUTinCode: 0 - wiiUJoinGameId: 0 - wiiUJoinGameModeMask: 0000000000000000 - wiiUCommonBossSize: 0 - wiiUAccountBossSize: 0 - wiiUAddOnUniqueIDs: [] - wiiUMainThreadStackSize: 3072 - wiiULoaderThreadStackSize: 1024 - wiiUSystemHeapSize: 128 - wiiUTVStartupScreen: {fileID: 0} - wiiUGamePadStartupScreen: {fileID: 0} - wiiUDrcBufferDisabled: 0 - wiiUProfilerLibPath: + mobileMTRendering: + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Standalone + m_EncodingQuality: 1 + - m_BuildTarget: XboxOne + m_EncodingQuality: 1 + - m_BuildTarget: PS4 + m_EncodingQuality: 1 + - m_BuildTarget: GameCoreScarlett + m_EncodingQuality: 1 + - m_BuildTarget: GameCoreXboxOne + m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: + - m_BuildTarget: Standalone + m_EncodingQuality: 2 + - m_BuildTarget: XboxOne + m_EncodingQuality: 2 + - m_BuildTarget: PS4 + m_EncodingQuality: 2 + - m_BuildTarget: GameCoreScarlett + m_EncodingQuality: 2 + - m_BuildTarget: GameCoreXboxOne + m_EncodingQuality: 2 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] + m_BuildTargetNormalMapEncoding: [] + m_BuildTargetDefaultTextureCompressionFormat: [] playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 actionOnDotNetUnhandledException: 1 enableInternalProfiler: 0 logObjCUncaughtExceptions: 1 @@ -289,14 +403,20 @@ PlayerSettings: cameraUsageDescription: locationUsageDescription: microphoneUsageDescription: + bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 + switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 switchSocketAllocatorPoolSize: 128 switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 + switchEnableFileSystemTrace: 0 + switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: + switchCompilerFlags: switchTitleNames_0: switchTitleNames_1: switchTitleNames_2: @@ -312,6 +432,7 @@ PlayerSettings: switchTitleNames_12: switchTitleNames_13: switchTitleNames_14: + switchTitleNames_15: switchPublisherNames_0: switchPublisherNames_1: switchPublisherNames_2: @@ -327,6 +448,7 @@ PlayerSettings: switchPublisherNames_12: switchPublisherNames_13: switchPublisherNames_14: + switchPublisherNames_15: switchIcons_0: {fileID: 0} switchIcons_1: {fileID: 0} switchIcons_2: {fileID: 0} @@ -342,6 +464,7 @@ PlayerSettings: switchIcons_12: {fileID: 0} switchIcons_13: {fileID: 0} switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} switchSmallIcons_0: {fileID: 0} switchSmallIcons_1: {fileID: 0} switchSmallIcons_2: {fileID: 0} @@ -357,6 +480,7 @@ PlayerSettings: switchSmallIcons_12: {fileID: 0} switchSmallIcons_13: {fileID: 0} switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} switchManualHTML: switchAccessibleURLs: switchLegalInformation: @@ -366,7 +490,6 @@ PlayerSettings: switchReleaseVersion: 0 switchDisplayVersion: 1.0.0 switchStartupUserAccount: 0 - switchTouchScreenUsage: 0 switchSupportedLanguagesMask: 0 switchLogoType: 0 switchApplicationErrorCodeCategory: @@ -388,6 +511,7 @@ PlayerSettings: switchRatingsInt_9: 0 switchRatingsInt_10: 0 switchRatingsInt_11: 0 + switchRatingsInt_12: 0 switchLocalCommunicationIds_0: switchLocalCommunicationIds_1: switchLocalCommunicationIds_2: @@ -399,8 +523,15 @@ PlayerSettings: switchParentalControl: 0 switchAllowsScreenshot: 1 switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 switchSupportedNpadStyles: 3 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 switchSocketConfigEnabled: 0 switchTcpInitialSendBufferSize: 32 switchTcpInitialReceiveBufferSize: 64 @@ -411,7 +542,13 @@ PlayerSettings: switchSocketBufferEfficiency: 4 switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 + switchDisableHTCSPlayerConnection: 0 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 1 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: @@ -430,12 +567,15 @@ PlayerSettings: ps4PronunciationSIGPath: ps4BackgroundImagePath: ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: ps4SaveDataImagePath: ps4SdkOverride: ps4BGMPath: ps4ShareFilePath: ps4ShareOverlayImagePath: ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: ps4NPtitleDatPath: ps4RemotePlayKeyAssignment: -1 ps4RemotePlayKeyMappingDir: @@ -448,17 +588,20 @@ PlayerSettings: ps4DownloadDataSize: 0 ps4GarlicHeapSize: 2048 ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 ps4Passcode: 5xr84P2R391UXaLHbavJvFZGfO47XWS2 - ps4UseDebugIl2cppLibs: 0 ps4pnSessions: 1 ps4pnPresence: 1 ps4pnFriends: 1 ps4pnGameCustomData: 1 playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 restrictedAudioUsageRights: 0 ps4UseResolutionFallback: 0 ps4ReprojectionSupport: 0 ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 ps4SocialScreenEnabled: 0 ps4ScriptOptimizationLevel: 3 ps4Audio3dVirtualSpeakerCount: 14 @@ -475,63 +618,21 @@ PlayerSettings: ps4disableAutoHideSplash: 0 ps4videoRecordingFeaturesUsed: 0 ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 ps4attribEyeToEyeDistanceSettingVR: 0 ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 monoEnv: - psp2Splashimage: {fileID: 0} - psp2NPTrophyPackPath: - psp2NPSupportGBMorGJP: 0 - psp2NPAgeRating: 12 - psp2NPTitleDatPath: - psp2NPCommsID: - psp2NPCommunicationsID: - psp2NPCommsPassphrase: - psp2NPCommsSig: - psp2ParamSfxPath: - psp2ManualPath: - psp2LiveAreaGatePath: - psp2LiveAreaBackroundPath: - psp2LiveAreaPath: - psp2LiveAreaTrialPath: - psp2PatchChangeInfoPath: - psp2PatchOriginalPackage: - psp2PackagePassword: qVOw5lxuBEBNue7b9PZS0hoI6pgabi9U - psp2KeystoneFile: - psp2MemoryExpansionMode: 0 - psp2DRMType: 0 - psp2StorageType: 0 - psp2MediaCapacity: 0 - psp2DLCConfigPath: - psp2ThumbnailPath: - psp2BackgroundPath: - psp2SoundPath: - psp2TrophyCommId: - psp2TrophyPackagePath: - psp2PackagedResourcesPath: - psp2SaveDataQuota: 10240 - psp2ParentalLevel: 1 - psp2ShortTitle: Not Set - psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF - psp2Category: 0 - psp2MasterVersion: 01.00 - psp2AppVersion: 01.00 - psp2TVBootMode: 0 - psp2EnterButtonAssignment: 2 - psp2TVDisableEmu: 0 - psp2AllowTwitterDialog: 1 - psp2Upgradable: 0 - psp2HealthWarning: 0 - psp2UseLibLocation: 0 - psp2InfoBarOnStartup: 0 - psp2InfoBarColor: 0 - psp2UseDebugIl2cppLibs: 0 - psmSplashimage: {fileID: 0} splashScreenBackgroundSourceLandscape: {fileID: 0} splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 spritePackerPolicy: webGLMemorySize: 256 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 webGLDataCaching: 0 webGLDebugSymbols: 0 webGLEmscriptenArgs: @@ -539,19 +640,53 @@ PlayerSettings: webGLTemplate: APPLICATION:Default webGLAnalyzeBuildSize: 0 webGLUseEmbeddedResources: 0 - webGLUseWasm: 0 webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLPowerPreference: 2 scriptingDefineSymbols: {} + additionalCompilerArguments: {} platformArchitecture: - iOS: 2 + iPhone: 1 scriptingBackend: Android: 0 Standalone: 0 WebGL: 1 - iOS: 1 + iPhone: 1 + il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + QNX: 1 + Stadia: 1 + VisionOS: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 incrementalIl2cppBuild: - iOS: 0 + iPhone: 0 + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 m_MobileRenderingPath: 1 @@ -565,46 +700,24 @@ PlayerSettings: metroApplicationDescription: sample wsaImages: {} metroTileShortName: - metroCommandLineArgsFile: metroTileShowName: 0 metroMediumTileShowName: 0 metroLargeTileShowName: 0 metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 metroDefaultTileSize: 1 metroTileForegroundText: 1 metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} metroSplashScreenUseBackgroundColor: 0 + syncCapabilities: 0 platformCapabilities: {} + metroTargetDeviceFamilies: {} metroFTAName: metroFTAFileTypes: [] metroProtocolName: - metroCompilationOverrides: 1 - tizenProductDescription: - tizenProductURL: - tizenSigningProfileName: - tizenGPSPermissions: 0 - tizenMicrophonePermissions: 0 - tizenDeploymentTarget: - tizenDeploymentTargetType: -1 - tizenMinOSVersion: 1 - n3dsUseExtSaveData: 0 - n3dsCompressStaticMem: 1 - n3dsExtSaveDataNumber: 0x12345 - n3dsStackSize: 131072 - n3dsTargetPlatform: 2 - n3dsRegion: 7 - n3dsMediaSize: 0 - n3dsLogoStyle: 3 - n3dsTitle: GameName - n3dsProductCode: - n3dsApplicationId: 0xFF3FF - stvDeviceAddress: - stvProductDescription: - stvProductAuthor: - stvProductAuthorEmail: - stvProductLink: - stvProductCategory: 0 + vcxProjDefaultLanguage: XboxOneProductId: XboxOneUpdateKey: XboxOneSandboxId: @@ -614,6 +727,7 @@ PlayerSettings: XboxOneGameOsOverridePath: XboxOnePackagingOverridePath: XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 XboxOnePackageEncryption: 0 XboxOnePackageUpdateGranularity: 2 XboxOneDescription: @@ -622,21 +736,44 @@ PlayerSettings: XboxOneCapability: [] XboxOneGameRating: {} XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 XboxOneEnableGPUVariability: 0 XboxOneSockets: {} XboxOneSplashScreen: {fileID: 0} XboxOneAllowedProductIds: [] XboxOnePersistentLocalStorageSize: 0 - xboxOneScriptCompiler: 0 - vrEditorSettings: - daydream: - daydreamIconForeground: {fileID: 0} - daydreamIconBackground: {fileID: 0} + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} cloudServicesEnabled: {} - facebookSdkVersion: 7.9.1 - apiCompatibilityLevel: 2 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] projectName: organizationId: cloudEnabled: 0 - enableNewInputSystem: 0 + legacyClampBlendShapeWeights: 1 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 + virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/sample/ProjectSettings/ProjectVersion.txt b/sample/ProjectSettings/ProjectVersion.txt index 7a59bc87..7a6f40b4 100644 --- a/sample/ProjectSettings/ProjectVersion.txt +++ b/sample/ProjectSettings/ProjectVersion.txt @@ -1 +1,2 @@ -m_EditorVersion: 5.6.7f1 +m_EditorVersion: 2022.3.62f1 +m_EditorVersionWithRevision: 2022.3.62f1 (4af31df58517) diff --git a/sample/ProjectSettings/UnityConnectSettings.asset b/sample/ProjectSettings/UnityConnectSettings.asset index 2943e440..a88bee0f 100644 --- a/sample/ProjectSettings/UnityConnectSettings.asset +++ b/sample/ProjectSettings/UnityConnectSettings.asset @@ -3,27 +3,34 @@ --- !u!310 &1 UnityConnectSettings: m_ObjectHideFlags: 0 + serializedVersion: 1 m_Enabled: 0 m_TestMode: 0 - m_TestEventUrl: - m_TestConfigUrl: + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 CrashReportingSettings: - m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes + m_EventUrl: https://perf-events.cloud.unity3d.com m_Enabled: 0 + m_LogBufferSize: 10 m_CaptureEditorExceptions: 1 UnityPurchasingSettings: m_Enabled: 0 m_TestMode: 0 UnityAnalyticsSettings: m_Enabled: 0 - m_InitializeOnStartup: 1 m_TestMode: 0 - m_TestEventUrl: - m_TestConfigUrl: + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 UnityAdsSettings: m_Enabled: 0 m_InitializeOnStartup: 1 m_TestMode: 0 - m_EnabledPlatforms: 4294967295 m_IosGameId: m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/sample/ProjectSettings/VFXManager.asset b/sample/ProjectSettings/VFXManager.asset new file mode 100644 index 00000000..46f38e16 --- /dev/null +++ b/sample/ProjectSettings/VFXManager.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 + m_CompiledVersion: 0 + m_RuntimeVersion: 0 diff --git a/sample/ProjectSettings/VersionControlSettings.asset b/sample/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..dca28814 --- /dev/null +++ b/sample/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1