├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ └── issue_report.yml └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── docs ├── .gitignore ├── README.md ├── articles │ ├── contributing.md │ ├── dev │ │ ├── branches.md │ │ ├── dev-guide.md │ │ ├── dev-scripts.md │ │ ├── how-things-work.md │ │ ├── project-layout.md │ │ ├── publishing.md │ │ └── setup.md │ ├── faq.md │ ├── index.md │ ├── toc.yml │ └── user │ │ ├── engines.md │ │ ├── events.md │ │ ├── javascript.md │ │ ├── logging.md │ │ ├── packages.md │ │ ├── player-build.md │ │ ├── runtime.md │ │ ├── setup.md │ │ └── usage.md ├── assets │ └── images │ │ ├── articles │ │ ├── dev │ │ │ └── setup │ │ │ │ ├── debug-ui.webp │ │ │ │ └── panel.webp │ │ └── user │ │ │ ├── engines │ │ │ └── CommunicationLayer.webp │ │ │ ├── javascript │ │ │ ├── enable-js-methods.webp │ │ │ ├── executed-results.webp │ │ │ └── hello-world-log.webp │ │ │ ├── logging │ │ │ └── LogSeverity.webp │ │ │ ├── player-build │ │ │ └── player-settings.webp │ │ │ ├── setup │ │ │ ├── Packages.webp │ │ │ ├── Registry.webp │ │ │ └── StandardPackages.webp │ │ │ └── usage │ │ │ ├── BasicSetup.webp │ │ │ ├── UPMSamples.webp │ │ │ └── UWBOptions.webp │ │ └── vs-icon.png ├── docfx.json ├── filterConfig.yml ├── index.md └── toc.yml ├── media ├── Editor1.webp ├── Editor2.webp ├── Editor3.webp ├── Player1.webp └── UWB-Icon.svg ├── renovate.json └── src ├── .editorconfig ├── DevScripts ├── build_base.py ├── build_base_macos.py ├── build_cef_linux64.py ├── build_cef_macosarm64.py ├── build_cef_macosx64.py ├── build_cef_windows64.py ├── build_shared.py ├── download_cef_base.py ├── download_cef_linux64.py ├── download_cef_macosarm64.py ├── download_cef_macosx64.py ├── download_cef_windows64.py ├── setup_all.py └── sync_info.py ├── Directory.Build.props ├── Imports ├── NativeDefines.props ├── NatvieDefines.targets └── Properties.props ├── Packages ├── .gitignore ├── UnityWebBrowser.Communication.Pipes │ ├── .npmrc │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Pipes Communication Layer.asset │ │ └── Pipes Communication Layer.asset.meta │ ├── Runtime.meta │ ├── Runtime │ │ ├── PipesCommunicationLayer.cs │ │ ├── PipesCommunicationLayer.cs.meta │ │ ├── VoltstroStudios.UnityWebBrowser.Communication.Pipes.asmdef │ │ └── VoltstroStudios.UnityWebBrowser.Communication.Pipes.asmdef.meta │ ├── package.json │ └── package.json.meta ├── UnityWebBrowser.Engine.Cef.Linux-x64 │ ├── .npmrc │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── package.json │ └── package.json.meta ├── UnityWebBrowser.Engine.Cef.MacOS-arm64 │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── package.json │ └── package.json.meta ├── UnityWebBrowser.Engine.Cef.MacOS-x64 │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── package.json │ └── package.json.meta ├── UnityWebBrowser.Engine.Cef.Win-x64 │ ├── .npmrc │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── package.json │ └── package.json.meta ├── UnityWebBrowser.Engine.Cef │ ├── .npmrc │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Cef Engine Configuration.asset │ │ └── Cef Engine Configuration.asset.meta │ ├── package.json │ ├── package.json.meta │ ├── thirdpartycredits.txt │ └── thirdpartycredits.txt.meta ├── UnityWebBrowser.Unix-Support │ ├── .npmrc │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── package.json │ └── package.json.meta └── UnityWebBrowser │ ├── .npmrc │ ├── Editor.meta │ ├── Editor │ ├── Materials.meta │ └── Materials │ │ ├── Obsolete.png │ │ ├── Obsolete.png.meta │ │ ├── UWBIcon.png │ │ └── UWBIcon.png.meta │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── Plugins.meta │ ├── Plugins │ ├── .gitignore │ ├── .npmignore │ ├── VoltstroStudios.UnityWebBrowser.Shared.dll.meta │ ├── VoltstroStudios.UnityWebBrowser.Shared.pdb.meta │ └── VoltstroStudios.UnityWebBrowser.Shared.xml.meta │ ├── README.md │ ├── README.md.meta │ ├── Resources.meta │ ├── Resources │ ├── Input System Handler.asset │ ├── Input System Handler.asset.meta │ ├── Old Input Handler.asset │ ├── Old Input Handler.asset.meta │ ├── TCP Communication Layer.asset │ └── TCP Communication Layer.asset.meta │ ├── Runtime.meta │ ├── Runtime │ ├── AssemblyInfo.cs │ ├── AssemblyInfo.cs.meta │ ├── Communication.meta │ ├── Communication │ │ ├── CommunicationLayer.cs │ │ ├── CommunicationLayer.cs.meta │ │ ├── TCPCommunicationLayer.cs │ │ └── TCPCommunicationLayer.cs.meta │ ├── Core.meta │ ├── Core │ │ ├── BaseUwbClientManager.cs │ │ ├── BaseUwbClientManager.cs.meta │ │ ├── Engines.meta │ │ ├── Engines │ │ │ ├── Engine.cs │ │ │ ├── Engine.cs.meta │ │ │ ├── EngineConfiguration.cs │ │ │ ├── EngineConfiguration.cs.meta │ │ │ ├── EngineProcess.cs │ │ │ ├── EngineProcess.cs.meta │ │ │ ├── Process.meta │ │ │ └── Process │ │ │ │ ├── IProcess.cs │ │ │ │ ├── IProcess.cs.meta │ │ │ │ ├── LinuxProcess.cs │ │ │ │ ├── LinuxProcess.cs.meta │ │ │ │ ├── MacOsProcess.cs │ │ │ │ ├── MacOsProcess.cs.meta │ │ │ │ ├── WindowProcess.cs │ │ │ │ └── WindowProcess.cs.meta │ │ ├── FullscreenHandler.cs │ │ ├── FullscreenHandler.cs.meta │ │ ├── Js.meta │ │ ├── Js │ │ │ ├── InvalidArgumentsException.cs │ │ │ ├── InvalidArgumentsException.cs.meta │ │ │ ├── JsMethodManager.cs │ │ │ ├── JsMethodManager.cs.meta │ │ │ ├── MethodNotFoundException.cs │ │ │ ├── MethodNotFoundException.cs.meta │ │ │ ├── NotEnabledException.cs │ │ │ ├── NotEnabledException.cs.meta │ │ │ ├── UnsupportedTypeException.cs │ │ │ └── UnsupportedTypeException.cs.meta │ │ ├── PixelsEventTypeReader.cs │ │ ├── PixelsEventTypeReader.cs.meta │ │ ├── Popups.meta │ │ ├── Popups │ │ │ ├── WebBrowserPopupInfo.cs │ │ │ ├── WebBrowserPopupInfo.cs.meta │ │ │ ├── WebBrowserPopupService.cs │ │ │ └── WebBrowserPopupService.cs.meta │ │ ├── RawImageUwbClientInputHandler.cs │ │ ├── RawImageUwbClientInputHandler.cs.meta │ │ ├── RawImageUwbClientManager.cs │ │ ├── RawImageUwbClientManager.cs.meta │ │ ├── WebBrowserArgsBuilder.cs │ │ ├── WebBrowserArgsBuilder.cs.meta │ │ ├── WebBrowserClient.cs │ │ ├── WebBrowserClient.cs.meta │ │ ├── WebBrowserCommunicationsManager.cs │ │ └── WebBrowserCommunicationsManager.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── Drawers.meta │ │ ├── Drawers │ │ │ ├── ResolutionDrawer.cs │ │ │ └── ResolutionDrawer.cs.meta │ │ ├── EditorHelper.cs │ │ ├── EditorHelper.cs.meta │ │ ├── EngineManagement.meta │ │ └── EngineManagement │ │ │ ├── EngineManager.cs │ │ │ ├── EngineManager.cs.meta │ │ │ ├── EngineManagerPostprocess.cs │ │ │ └── EngineManagerPostprocess.cs.meta │ ├── Events.meta │ ├── Events │ │ ├── OnClientConnected.cs │ │ ├── OnClientConnected.cs.meta │ │ ├── OnClientInitialized.cs │ │ ├── OnClientInitialized.cs.meta │ │ ├── OnFullscreenChange.cs │ │ ├── OnFullscreenChange.cs.meta │ │ ├── OnInputFocus.cs │ │ ├── OnInputFocus.cs.meta │ │ ├── OnLoadFinish.cs │ │ ├── OnLoadFinish.cs.meta │ │ ├── OnLoadStart.cs │ │ ├── OnLoadStart.cs.meta │ │ ├── OnLoadingProgressChange.cs │ │ ├── OnLoadingProgressChange.cs.meta │ │ ├── OnPopup.cs │ │ ├── OnPopup.cs.meta │ │ ├── OnTitleChange.cs │ │ ├── OnTitleChange.cs.meta │ │ ├── OnUrlChange.cs │ │ └── OnUrlChange.cs.meta │ ├── Helper.meta │ ├── Helper │ │ ├── ProcessExtensions.cs │ │ ├── ProcessExtensions.cs.meta │ │ ├── WebBrowserUtils.cs │ │ └── WebBrowserUtils.cs.meta │ ├── Input.meta │ ├── Input │ │ ├── WebBrowserInputHandler.cs │ │ ├── WebBrowserInputHandler.cs.meta │ │ ├── WebBrowserInputHelper.cs │ │ ├── WebBrowserInputHelper.cs.meta │ │ ├── WebBrowserInputSystemHandler.cs │ │ ├── WebBrowserInputSystemHandler.cs.meta │ │ ├── WebBrowserOldInputHandler.cs │ │ └── WebBrowserOldInputHandler.cs.meta │ ├── Logging.meta │ ├── Logging │ │ ├── DefaultUnityWebBrowserLogger.cs │ │ ├── DefaultUnityWebBrowserLogger.cs.meta │ │ ├── IWebBrowserLogger.cs │ │ ├── IWebBrowserLogger.cs.meta │ │ ├── JsonLogSeverityConverter.cs │ │ ├── JsonLogSeverityConverter.cs.meta │ │ ├── JsonLogStructure.cs │ │ ├── JsonLogStructure.cs.meta │ │ ├── ProcessLogHandler.cs │ │ └── ProcessLogHandler.cs.meta │ ├── Removed.meta │ ├── Removed │ │ ├── WebBrowserUI.cs │ │ └── WebBrowserUI.cs.meta │ ├── UwbHasInitializedException.cs │ ├── UwbHasInitializedException.cs.meta │ ├── UwbIsConnectedException.cs │ ├── UwbIsConnectedException.cs.meta │ ├── UwbIsNotConnectedException.cs │ ├── UwbIsNotConnectedException.cs.meta │ ├── UwbIsNotReadyException.cs │ ├── UwbIsNotReadyException.cs.meta │ ├── VoltstroStudios.UnityWebBrowser.asmdef │ ├── VoltstroStudios.UnityWebBrowser.asmdef.meta │ ├── WebBrowserUIBasic.cs │ ├── WebBrowserUIBasic.cs.meta │ ├── WebBrowserUIControls.cs │ ├── WebBrowserUIControls.cs.meta │ ├── WebBrowserUIControlsTMP.cs │ ├── WebBrowserUIControlsTMP.cs.meta │ ├── WebBrowserUIFull.cs │ └── WebBrowserUIFull.cs.meta │ ├── Samples~ │ ├── Basic │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── arrow.png │ │ │ ├── arrow.png.meta │ │ │ ├── credits.txt │ │ │ ├── credits.txt.meta │ │ │ ├── reload.png │ │ │ ├── reload.png.meta │ │ │ ├── right-arrow.png │ │ │ └── right-arrow.png.meta │ │ ├── Prefabs.meta │ │ └── Prefabs │ │ │ ├── UnityWebBrowser (TMP).prefab │ │ │ ├── UnityWebBrowser (TMP).prefab.meta │ │ │ ├── UnityWebBrowser.prefab │ │ │ └── UnityWebBrowser.prefab.meta │ └── Runtime │ │ ├── Scripts.meta │ │ └── Scripts │ │ └── UWBRuntime.cs │ ├── Tests.meta │ ├── Tests │ ├── Editor.meta │ ├── Editor │ │ ├── EditorHelperFindAssetTestAsset.cs │ │ ├── EditorHelperFindAssetTestAsset.cs.meta │ │ ├── EditorHelperTests.cs │ │ ├── EditorHelperTests.cs.meta │ │ ├── Resources.meta │ │ ├── Resources │ │ │ ├── EditorHelperFindAssetTestAsset.asset │ │ │ └── EditorHelperFindAssetTestAsset.asset.meta │ │ ├── UnityWebBrowser.Tests.Editor.asmdef │ │ └── UnityWebBrowser.Tests.Editor.asmdef.meta │ ├── Runtime.meta │ └── Runtime │ │ ├── JsMethodManagerTests.cs │ │ ├── JsMethodManagerTests.cs.meta │ │ ├── LoggerTests.cs │ │ ├── LoggerTests.cs.meta │ │ ├── VoltstroStudios.UnityWebBrowser.Tests.asmdef │ │ ├── VoltstroStudios.UnityWebBrowser.Tests.asmdef.meta │ │ ├── WebBrowserClientTests.cs │ │ ├── WebBrowserClientTests.cs.meta │ │ ├── WebBrowserUtilsTests.cs │ │ └── WebBrowserUtilsTests.cs.meta │ ├── package.json │ └── package.json.meta ├── README.md ├── ThirdParty └── Libs │ └── cef │ └── .gitignore ├── UnityWebBrowser.DotSettings ├── UnityWebBrowser.Engine.Cef ├── Main │ ├── Core │ │ ├── CefEngineControlsManager.cs │ │ └── UwbCefEngineEntry.cs │ ├── Program.cs │ ├── UnityWebBrowser.Engine.Cef.csproj │ ├── icon.icns │ └── info.plist ├── Shared │ ├── AssemblyInfo.cs │ ├── Browser │ │ ├── Js │ │ │ ├── ExecuteJsMethodMessage.cs │ │ │ └── UwbCefJsMethodHandler.cs │ │ ├── Messages │ │ │ ├── IMessageBase.cs │ │ │ ├── MessageBase.cs │ │ │ └── SourceGenerationContext.cs │ │ ├── Popups │ │ │ ├── UwbCefEnginePopupInfo.cs │ │ │ ├── UwbCefPopupClient.cs │ │ │ └── UwbCefPopupLifeSpanHandler.cs │ │ ├── Schemes │ │ │ └── PageResourceScheme.cs │ │ ├── StreamCefResourceHandler.cs │ │ ├── UwbCefApp.cs │ │ ├── UwbCefBrowserProcessHandler.cs │ │ ├── UwbCefClient.cs │ │ ├── UwbCefClientUtils.cs │ │ ├── UwbCefContextMenuHandler.cs │ │ ├── UwbCefDisplayHandler.cs │ │ ├── UwbCefLifespanHandler.cs │ │ ├── UwbCefLoadHandler.cs │ │ ├── UwbCefRenderHandler.cs │ │ ├── UwbCefRenderProcessHandler.cs │ │ └── UwbCefRequestHandler.cs │ ├── Core │ │ ├── CefActionTask.cs │ │ ├── CefLoggerWrapper.cs │ │ ├── CefMacOsFrameworkLoader.cs │ │ └── CefSandbox.cs │ ├── UnityWebBrowser.Engine.Cef.Shared.csproj │ └── chromium-logo.ico ├── SubProcess │ ├── Program.cs │ ├── UnityWebBrowser.Engine.Cef.SubProcess.csproj │ ├── info-subprocess-gpu.plist │ ├── info-subprocess-plugin.plist │ ├── info-subprocess-renderer.plist │ └── info-subprocess.plist └── version.json ├── UnityWebBrowser.Pages ├── .gitignore ├── README.md ├── about.html ├── dist │ └── about.html ├── package.json ├── pnpm-lock.yaml ├── src │ ├── about.ts │ ├── main.ts │ ├── style.css │ └── vite-env.d.ts ├── tsconfig.json └── vite.config.ts ├── UnityWebBrowser.UnityProject ├── .editorconfig ├── .gitignore ├── Assets │ ├── Materials.meta │ ├── Materials │ │ ├── arrow.png │ │ ├── arrow.png.meta │ │ ├── credits.txt │ │ ├── credits.txt.meta │ │ ├── reload.png │ │ ├── reload.png.meta │ │ ├── right-arrow.png │ │ └── right-arrow.png.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── UnityWebBrowser (TMP).prefab │ │ ├── UnityWebBrowser (TMP).prefab.meta │ │ ├── UnityWebBrowser.prefab │ │ └── UnityWebBrowser.prefab.meta │ ├── Resources.meta │ ├── Resources │ │ ├── UWBImGuiIni.asset │ │ └── UWBImGuiIni.asset.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── UWB.unity │ │ ├── UWB.unity.meta │ │ ├── UWBHeadless.unity │ │ ├── UWBHeadless.unity.meta │ │ ├── UWBRuntime.unity │ │ └── UWBRuntime.unity.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── UWBHeadless.cs │ │ ├── UWBHeadless.cs.meta │ │ ├── UWBPrjDebugUI.cs │ │ ├── UWBPrjDebugUI.cs.meta │ │ ├── UWBPrjDemo.cs │ │ ├── UWBPrjDemo.cs.meta │ │ ├── UWBRuntime.cs │ │ ├── UWBRuntime.cs.meta │ │ ├── VoltstroStudios.UnityWebBrowser.Prj.asmdef │ │ └── VoltstroStudios.UnityWebBrowser.Prj.asmdef.meta ├── Packages │ ├── manifest.json │ └── packages-lock.json ├── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── MemorySettings.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── PackageManagerSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── SceneTemplateSettings.json │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── VersionControlSettings.asset │ ├── XRSettings.asset │ └── boot.config └── UnityWebBrowser.UnityProject.sln.DotSettings ├── UnityWebBrowser.sln ├── UnityWebBrowser.sln.DotSettings ├── VoltstroStudios.UnityWebBrowser.Engine.Shared ├── AssemblyInfo.cs ├── Color.cs ├── Communications │ ├── PipesCommunicationLayer.cs │ └── TCPCommunicationLayer.cs ├── Core │ ├── ClientControlsActions.cs │ ├── EngineEntryPoint.cs │ ├── LaunchArguments.cs │ ├── LaunchArgumentsBinder.cs │ ├── LaunchArgumentsParser.cs │ ├── LoggerManager.cs │ └── MathHelper.cs ├── LICENSE.UWB.txt ├── Native │ └── Linux │ │ └── SysPrctl.cs ├── Pages │ └── PagesHandler.cs ├── Popups │ └── EnginePopupManager.cs ├── ReadWriters │ ├── EngineReadWritersManager.cs │ └── PixelsEventTypeReadWriter.cs └── VoltstroStudios.UnityWebBrowser.Engine.Shared.csproj ├── VoltstroStudios.UnityWebBrowser.Shared ├── AssemblyInfo.cs ├── Communications │ └── ICommunicationLayer.cs ├── Core │ ├── IClientControls.cs │ ├── IEngineControls.cs │ └── Platform.cs ├── Events │ ├── KeyboardEvent.cs │ ├── MouseClickEvent.cs │ ├── MouseMoveEvent.cs │ ├── MouseScrollEvent.cs │ └── PixelsEvent.cs ├── InitializationException.cs ├── Js │ ├── ExecuteJsMethod.cs │ ├── JsObjectHolder.cs │ ├── JsObjectKeyValue.cs │ ├── JsValue.cs │ └── JsValueType.cs ├── LogSeverity.cs ├── Popups │ ├── EnginePopupInfo.cs │ ├── IPopupClientControls.cs │ ├── IPopupEngineControls.cs │ └── PopupAction.cs ├── ProxySettings.cs ├── ReadWriters │ ├── ExecuteJsMethodTypeReadWriter.cs │ ├── KeyboardEventTypeReadWriter.cs │ ├── MouseClickEventTypeReadWriter.cs │ ├── MouseMoveEventTypeReadWriter.cs │ ├── MouseScrollEventTypeReadWriter.cs │ ├── ReadWriterUtils.cs │ └── ResolutionTypeReadWriter.cs ├── Resolution.cs ├── VoltstroStudios.UnityWebBrowser.Shared.csproj ├── WindowsKey.cs └── link.xml ├── VoltstroStudios.UnityWebBrowser.Tests ├── ColorTests.cs ├── MathTests.cs ├── PagesHandlerTests.cs └── VoltstroStudios.UnityWebBrowser.Tests.csproj └── version.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: UWB Project Discussions 4 | url: https://github.com/Voltstro-Studios/UnityWebBrowser/discussions 5 | about: Please use this project's discussions to ask and answer questions or request features. 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ThirdParty/CefGlue"] 2 | path = src/ThirdParty/CefGlue 3 | url = https://github.com/Voltstro-Studios/CefGlue.git 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | api/**/*.yml 3 | api/.manifest -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # UnityWebBrowser Docs 2 | 3 | UnityWebBrowser's docs are built from here. 4 | 5 | UWB docs are generated using [DocFx](https://dotnet.github.io/docfx/). See the DocFx site for setup of the tool. 6 | 7 | ## Building Locally 8 | 9 | ``` 10 | docfx metadata 11 | docfx build 12 | ``` 13 | 14 | To preview locally, use: 15 | 16 | ``` 17 | docfx serve _site/ 18 | ``` 19 | 20 | ## Publishing 21 | 22 | The [publicly hosted docs](https://projects.voltstro.dev/UnityWebBrowser/latest/) are automatically published using [VoltProjects](https://github.com/Voltstro/VoltProjects). 23 | -------------------------------------------------------------------------------- /docs/articles/contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | We will gladly accept contributions from anyone! 4 | 5 | Contributions don't just have to be code, contributions can be good [bug reports](https://github.com/Voltstro-Studios/UnityWebBrowser/issues), good [questions/feature requests](https://github.com/Voltstro-Studios/UnityWebBrowser/discussions), or even simple updates to our docs. 6 | 7 | But, if you do wish to contribute code wise to project, please see the [dev docs](dev/dev-guide.md) for setting up the project. Pickup a feature request or bug report, do the required changes then submit a PR to the `master` branch for review. 8 | -------------------------------------------------------------------------------- /docs/articles/dev/branches.md: -------------------------------------------------------------------------------- 1 | # Branches 2 | 3 | Quick info on our branching strategy. 4 | 5 | ## Master Branch 6 | 7 | We use the `master` branch as our main development branch. If needed, branch of this while working on features. 8 | 9 | ## Release Branch 10 | 11 | The `release` branch is where release builds will be created. It also where [VoltProjects](https://github.com/Voltstro/VoltProjects) generates the docs from. 12 | 13 | `master` will be merged to here when a release is ready. See [publishing for more info](publishing.md). 14 | -------------------------------------------------------------------------------- /docs/articles/dev/dev-guide.md: -------------------------------------------------------------------------------- 1 | # Developer Guide 2 | 3 | This section contains docs useful for developers who want to work on UWB's code. 4 | 5 | > [!WARNING] 6 | > This section will assume some prior knowledge on certain topics is already known: 7 | > - Advance Unity Knowledge 8 | > - Advance C# & .NET Knowledge 9 | 10 | ## Repo Setup 11 | 12 | To setup UWB's git repo, see the [setup section](setup.md). 13 | 14 | ## Developing 15 | 16 | When developing for UWB, it is highly recommended to develop using the `src/UnityWebBrowser.UnityProject` project provided in the repo. Other means of development will **NOT** be supported! Even if you are creating an external separate package for UWB, it is still recommended to develop using the provided project in the repo! We recommend this approach as the Unity project has all dependencies ready to go, all the tools, and proper projects setup for the code (both Engine and Core). 17 | -------------------------------------------------------------------------------- /docs/articles/dev/dev-scripts.md: -------------------------------------------------------------------------------- 1 | # Dev Scripts 2 | 3 | UWB contains all of its dev scripts in `src/DevScripts/`. Dev scripts are used for automating tasks like downloading external files or building projects. 4 | 5 | ## Usage 6 | 7 | There are three main scripts you will want to use. 8 | 9 | 1. `download_cef_.py` 10 | - Used for downloading the required version of CEF and extracting it. 11 | 2. `build_cef_.py` 12 | - Builds the `UnityWebBrowser.Engine.Cef` project in publish mode and outputs the built files into `src/Packages/UnityWebBrowser.Engine.Cef./Engine~/`. Needs to be ran if the CEF engine project has any changes made to it. 13 | 3. `build_shared.py` 14 | - Builds the `VoltstroStudios.UnityWebBrowser.Shared` project in `ReleaseUnity` configuration mode, which will place the built files into `src/Packages/UnityWebBrowser/Plugins`. Needs to be ran if the shared project has any changes made to it. 15 | 4. `sync_info.py` 16 | - Syncs version and license info across packages. 17 | 18 | ## Base Scripts 19 | 20 | There are a couple of scripts with `_base` in it's name. These scripts are shared modules that are used by the scripts that the user executes. 21 | 22 | ## Why Python 23 | 24 | In older versions of UWB, we used PowerShell as the language of choice for our dev scripts. PowerShell has one main advantage, it is cross-platform. But so is Python. Python's built-in libraries also includes a lot of useful utilities like archive extraction. While in PowerShell technically this is possible (you can call .NET methods), its a bit of a pain to do. 25 | -------------------------------------------------------------------------------- /docs/articles/faq.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | Here are some common questions we get. As time goes on, and we get asked more common questions, we will add them here. 4 | 5 | --- 6 | 7 | **Q**: Does UWB support *x* web feature? 8 | 9 | **A**: I don't know, does CEF support it? If so, then there is a good chance UWB does. 10 | 11 | --- 12 | 13 | **Q**: Can *x* feature be added? 14 | 15 | **A**: If it is in-line with this project's scope, then sure. If you *really* want a feature, and the idea of it has been approved to be in this project, then I suggest creating a PR. 16 | 17 | --- 18 | 19 | **Q**: Does UWB support proprietary codecs? 20 | 21 | **A**: The build of CEF that UWB uses DOES NOT come with proprietary codecs by default. You can however build CEF yourself with proprietary codecs included. Also have fun doing that. (Support will not be given to those who use a custom build of CEF!) 22 | 23 | --- 24 | 25 | **Q**: Does UWB support mobile or WebGl? 26 | 27 | **A**: UWB does not support any other platform that is not a desktop platform (Windows, Linux & MacOS). 28 | -------------------------------------------------------------------------------- /docs/articles/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Welcome 2 | href: index.md 3 | 4 | - name: FAQ 5 | href: faq.md 6 | 7 | - name: Contributing 8 | href: contributing.md 9 | 10 | - name: User 11 | items: 12 | - name: Setup 13 | href: user/setup.md 14 | - name: Packages 15 | href: user/packages.md 16 | - name: Usage 17 | href: user/usage.md 18 | - name: Engines 19 | href: user/engines.md 20 | - name: Logging 21 | href: user/logging.md 22 | - name: JavaScript 23 | href: user/javascript.md 24 | - name: Client Events 25 | href: user/events.md 26 | - name: Runtime Creation 27 | href: user/runtime.md 28 | - name: Player Build 29 | href: user/player-build.md 30 | 31 | - name: Developer 32 | items: 33 | - name: Developer Guide 34 | href: dev/dev-guide.md 35 | - name: Setup 36 | href: dev/setup.md 37 | - name: Dev Scripts 38 | href: dev/dev-scripts.md 39 | - name: How Things Work 40 | href: dev/how-things-work.md 41 | - name: Project Layout 42 | href: dev/project-layout.md 43 | - name: Publishing 44 | href: dev/publishing.md -------------------------------------------------------------------------------- /docs/assets/images/articles/dev/setup/debug-ui.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/dev/setup/debug-ui.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/dev/setup/panel.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/dev/setup/panel.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/engines/CommunicationLayer.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/engines/CommunicationLayer.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/javascript/enable-js-methods.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/javascript/enable-js-methods.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/javascript/executed-results.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/javascript/executed-results.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/javascript/hello-world-log.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/javascript/hello-world-log.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/logging/LogSeverity.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/logging/LogSeverity.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/player-build/player-settings.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/player-build/player-settings.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/setup/Packages.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/setup/Packages.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/setup/Registry.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/setup/Registry.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/setup/StandardPackages.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/setup/StandardPackages.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/usage/BasicSetup.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/usage/BasicSetup.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/usage/UPMSamples.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/usage/UPMSamples.webp -------------------------------------------------------------------------------- /docs/assets/images/articles/user/usage/UWBOptions.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/articles/user/usage/UWBOptions.webp -------------------------------------------------------------------------------- /docs/assets/images/vs-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/docs/assets/images/vs-icon.png -------------------------------------------------------------------------------- /docs/filterConfig.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | uidRegex: ^VoltstroStudios\.UnityWebBrowser\.Tests.*$ 4 | type: Namespace -------------------------------------------------------------------------------- /docs/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Articles 2 | href: articles/ 3 | - name: API Documentation 4 | href: api/ 5 | - name: Changelog 6 | href: CHANGELOG.html -------------------------------------------------------------------------------- /media/Editor1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/media/Editor1.webp -------------------------------------------------------------------------------- /media/Editor2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/media/Editor2.webp -------------------------------------------------------------------------------- /media/Editor3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/media/Editor3.webp -------------------------------------------------------------------------------- /media/Player1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/media/Player1.webp -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "assignees": ["voltstro"], 4 | "ignorePaths": [ 5 | "src/Packages/**" 6 | ], 7 | "timezone": "Australia/Brisbane", 8 | "schedule": [ 9 | "* * 1 * *" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | file_header_template = UnityWebBrowser (UWB)\nCopyright (c) 2021-2024 Voltstro-Studios\n\nThis project is under the MIT license.See the LICENSE.md file for more details. 3 | -------------------------------------------------------------------------------- /src/DevScripts/build_base.py: -------------------------------------------------------------------------------- 1 | import subprocess 2 | import os 3 | 4 | package_rid_mapping = { 5 | 'win-x64': 'Win-x64', 6 | 'linux-x64': 'Linux-x64' 7 | } 8 | 9 | def build_cef_engine(platform: str) -> None: 10 | """ 11 | Base CEF engine build for Windows and Linux 12 | """ 13 | if platform not in package_rid_mapping: 14 | raise Exception('Platform {0} is not valid!'.format(platform)) 15 | 16 | platform_folder = package_rid_mapping[platform] 17 | 18 | cef_project_path = os.path.abspath(os.path.join(__file__, '../../UnityWebBrowser.Engine.Cef/Main/UnityWebBrowser.Engine.Cef.csproj')) 19 | cef_publish_path = os.path.abspath(os.path.join(__file__, '../../Packages/UnityWebBrowser.Engine.Cef.{0}/Engine~'.format(platform_folder))) 20 | 21 | print('Build CEF project \'{0}\' to \'{1}\''.format(cef_project_path, cef_publish_path)) 22 | 23 | subprocess.run(['dotnet', 'publish', cef_project_path, '-r=' + platform, '-p:PublishDir=' + cef_publish_path, '--nologo']) 24 | 25 | 26 | def build_project(project: str) -> None: 27 | project_path = os.path.abspath(os.path.join(__file__, '../../{0}/{0}.csproj'.format(project))) 28 | 29 | subprocess.run(['dotnet', 'build', project_path, '-c=ReleaseUnity']) 30 | 31 | -------------------------------------------------------------------------------- /src/DevScripts/build_cef_linux64.py: -------------------------------------------------------------------------------- 1 | from build_base import build_cef_engine 2 | 3 | build_cef_engine('linux-x64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/build_cef_macosarm64.py: -------------------------------------------------------------------------------- 1 | from build_base_macos import build_cef_engine_macos 2 | 3 | build_cef_engine_macos('arm64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/build_cef_macosx64.py: -------------------------------------------------------------------------------- 1 | from build_base_macos import build_cef_engine_macos 2 | 3 | build_cef_engine_macos('x64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/build_cef_windows64.py: -------------------------------------------------------------------------------- 1 | from build_base import build_cef_engine 2 | 3 | build_cef_engine('win-x64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/build_shared.py: -------------------------------------------------------------------------------- 1 | 2 | from build_base import build_project 3 | 4 | build_project('VoltstroStudios.UnityWebBrowser.Shared') 5 | -------------------------------------------------------------------------------- /src/DevScripts/download_cef_linux64.py: -------------------------------------------------------------------------------- 1 | import subprocess 2 | 3 | from os.path import join 4 | from glob import glob 5 | 6 | from download_cef_base import download_cef 7 | 8 | cef_extracted_tar_path = download_cef('linux64') 9 | 10 | print('Stripping binaries with sstrip') 11 | dynamic_binaries = glob(join(cef_extracted_tar_path, 'Release', '*.so*')) 12 | for binary in dynamic_binaries: 13 | subprocess.run(['strip', binary]) 14 | -------------------------------------------------------------------------------- /src/DevScripts/download_cef_macosarm64.py: -------------------------------------------------------------------------------- 1 | from download_cef_base import download_cef 2 | 3 | download_cef('macosarm64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/download_cef_macosx64.py: -------------------------------------------------------------------------------- 1 | from download_cef_base import download_cef 2 | 3 | download_cef('macosx64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/download_cef_windows64.py: -------------------------------------------------------------------------------- 1 | from download_cef_base import download_cef 2 | 3 | download_cef('windows64') 4 | -------------------------------------------------------------------------------- /src/DevScripts/setup_all.py: -------------------------------------------------------------------------------- 1 | from os import path 2 | from subprocess import run 3 | from platform import system 4 | 5 | from download_cef_base import download_cef 6 | from build_base import build_cef_engine, build_project 7 | from build_base_macos import build_cef_engine_macos 8 | 9 | # Setup All. Configure UWB repo on the current running platform 10 | 11 | # Make sure CefGlue git module exists 12 | cefglue_path = path.abspath(path.join(__file__, '../../ThirdParty/CefGlue/')) 13 | if not path.exists(cefglue_path): 14 | print('CefGlue git submodule does not exist! Assuming user has not cloned repo recursively and will attempt to init and update submodules...') 15 | run(['git', 'submodule', 'init']) 16 | run(['git', 'submodule', 'update']) 17 | 18 | # Build shared first, needed by everything 19 | build_project('VoltstroStudios.UnityWebBrowser.Shared') 20 | 21 | running_system = system() 22 | 23 | # Windows 24 | if running_system == 'Windows': 25 | download_cef('windows64') 26 | build_cef_engine('win-x64') 27 | 28 | # Linux 29 | if running_system == 'Linux': 30 | download_cef('linux64') 31 | build_cef_engine('linux-x64') 32 | 33 | # MacOS 34 | if running_system == 'Darwin': 35 | download_cef('macosx64') 36 | download_cef('macosarm64') 37 | 38 | build_cef_engine_macos('x64') 39 | build_cef_engine_macos('arm64') 40 | -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | all 6 | 3.7.115 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Imports/NativeDefines.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | true 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | -------------------------------------------------------------------------------- /src/Imports/NatvieDefines.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(DefineConstants);WINDOWS 6 | 7 | 8 | 9 | $(DefineConstants);LINUX 10 | 11 | 12 | 13 | $(DefineConstants);MACOS 14 | 15 | -------------------------------------------------------------------------------- /src/Imports/Properties.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | Voltstro-Studios 4 | Voltstro-Studios 5 | Copyright (c) 2021-2025 Voltstro-Studios 6 | Debug;Release;ReleaseUnity 7 | AnyCPU 8 | 10 9 | 10 | 11 | 12 | true 13 | 14 | 15 | 16 | true 17 | none 18 | false 19 | $(DefineConstants);RELEASE 20 | 21 | -------------------------------------------------------------------------------- /src/Packages/.gitignore: -------------------------------------------------------------------------------- 1 | **/*.dll 2 | !**/*.prefab 3 | !**/*.meta 4 | !Samples~ -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7e96767ffb234d82b3ab9837a265783 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74947179a5fe265f1a8db29ba6fe1758 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Resources/Pipes Communication Layer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8081cdd0cde447df8a1ea5ae5e5dc423, type: 3} 13 | m_Name: Pipes Communication Layer 14 | m_EditorClassIdentifier: 15 | connectionTimeout: 7000 16 | inPipeName: UnityWebBrowserIn 17 | outPipeName: UnityWebBrowserOut 18 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Resources/Pipes Communication Layer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2c480e10a5df0c5fb813a22469b1c05 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3956592149c998aa0a1213ad6ea7f8e0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Runtime/PipesCommunicationLayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8081cdd0cde447df8a1ea5ae5e5dc423 3 | timeCreated: 1641705189 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Runtime/VoltstroStudios.UnityWebBrowser.Communication.Pipes.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VoltstroStudios.UnityWebBrowser.Communication.Pipes", 3 | "rootNamespace": "VoltstroStudios.UnityWebBrowser.Communication.Pipes", 4 | "references": [ 5 | "VoltstroStudios.UnityWebBrowser" 6 | ], 7 | "includePlatforms": [ 8 | "Editor", 9 | "WindowsStandalone64" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": true, 14 | "precompiledReferences": [ 15 | "VoltRpc.dll", 16 | "VoltRpc.Communication.Pipes.dll", 17 | "VoltstroStudios.UnityWebBrowser.Shared.dll" 18 | ], 19 | "autoReferenced": true, 20 | "defineConstraints": [], 21 | "versionDefines": [], 22 | "noEngineReferences": false 23 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/Runtime/VoltstroStudios.UnityWebBrowser.Communication.Pipes.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 103f82a8da57388068076c3f6320c247 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.communication.pipes", 3 | "displayName": "Unity Web Browser Pipes Communication", 4 | "description": "Adds support to use pipes in UWB.", 5 | "version": "2.2.6", 6 | "unity": "2021.3", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "hideInEditor": false, 17 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 18 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/", 19 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 20 | "dependencies": { 21 | "dev.voltstro.unitywebbrowser": "2.2.6", 22 | "org.nuget.voltrpc.communication.pipes": "3.1.0" 23 | } 24 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Communication.Pipes/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a6923af8c64abe6e9cfbdb8857d8281 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Linux-x64/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | max_body_size=500mb 3 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Linux-x64/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Linux-x64/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd2e76cd7c431ea6694d565ccf9bfe52 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Linux-x64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.engine.cef.linux.x64", 3 | "displayName": "Unity Web Browser CEF Engine (Linux x64)", 4 | "description": "CEF engine for Unity Web Browser (Linux x64).", 5 | "version": "2.2.6", 6 | "unity": "2021.3", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 17 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/engines/#cef-engine", 18 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 19 | "dependencies": { 20 | "dev.voltstro.unitywebbrowser.engine.cef": "2.2.6" 21 | } 22 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Linux-x64/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 696cd76c2959955ab84237e40a45b061 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-arm64/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-arm64/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe09333555055432dad68641e2d31312 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-arm64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.engine.cef.macos.arm64", 3 | "displayName": "Unity Web Browser CEF Engine (MacOS arm64)", 4 | "description": "CEF engine for Unity Web Browser (MacOS arm64).", 5 | "version": "2.2.6", 6 | "unity": "2021.2", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 17 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/engines/#cef-engine", 18 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 19 | "dependencies": { 20 | "dev.voltstro.unitywebbrowser.engine.cef": "2.2.6" 21 | } 22 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-arm64/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25f2f9846ae244e6891f567c8d08ab2d 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-x64/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-x64/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3231169a8382240bd8dcefd93391715c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-x64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.engine.cef.macos.x64", 3 | "displayName": "Unity Web Browser CEF Engine (MacOS x64)", 4 | "description": "CEF engine for Unity Web Browser (MacOS x64).", 5 | "version": "2.2.6", 6 | "unity": "2021.2", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 17 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/engines/#cef-engine", 18 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 19 | "dependencies": { 20 | "dev.voltstro.unitywebbrowser.engine.cef": "2.2.6" 21 | } 22 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.MacOS-x64/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2a3177ad327b4e90820eb0240f780a8 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Win-x64/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | max_body_size=500mb 3 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Win-x64/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Win-x64/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2e8014e72767a62bb46c794630f0e92 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Win-x64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.engine.cef.win.x64", 3 | "displayName": "Unity Web Browser CEF Engine (Win x64)", 4 | "description": "CEF engine for Unity Web Browser (Win x64).", 5 | "version": "2.2.6", 6 | "unity": "2021.2", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 17 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/engines/#cef-engine", 18 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 19 | "dependencies": { 20 | "dev.voltstro.unitywebbrowser.engine.cef": "2.2.6" 21 | } 22 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef.Win-x64/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efa41e94ab2826451bd619ef5935ed0d 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0944e46617b2190b3862c9a918882920 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36c8bcc6a06854a8c8eee8d22207aad6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/Resources/Cef Engine Configuration.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 649ce3cfdf00ca615abcf2bb62227f5c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.engine.cef", 3 | "displayName": "Unity Web Browser CEF Engine", 4 | "description": "CEF engine for Unity Web Browser.", 5 | "version": "2.2.6", 6 | "unity": "2021.3", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "hideInEditor": false, 17 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 18 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/engines/#cef-engine", 19 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 20 | "dependencies": { 21 | "dev.voltstro.unitywebbrowser": "2.2.6" 22 | } 23 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7862ce6188d4f1f2698dac45e848a82c 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Engine.Cef/thirdpartycredits.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0967fa7404596bc488d33120d0eea748 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Unix-Support/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Unix-Support/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2024 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Unix-Support/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72b8371fba2befd8c92e277ac1f8f6fb 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Unix-Support/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser.unix-support", 3 | "displayName": "Unity Web Browser Unix Support", 4 | "version": "1.1.0", 5 | "unity": "2021.3", 6 | "description": "Unix Support package is no longer needed and is now deprecated.", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/changelog/", 17 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/", 18 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md" 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser.Unix-Support/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b031637fa1347eddb9655ae88e577d10 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://upm-pkgs.voltstro.dev 2 | always-auth=true -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e483b6c89df05141b4035617aa46972 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Editor/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08a7c30d0cd7ecc46ae7c41c259deb2b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Editor/Materials/Obsolete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/Packages/UnityWebBrowser/Editor/Materials/Obsolete.png -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Editor/Materials/UWBIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/Packages/UnityWebBrowser/Editor/Materials/UWBIcon.png -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Voltstro-Studios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42d5aadbd9fe4bd468b95d394aa76cb7 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 968ad30efafd83543bef3898640cdf78 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins/.gitignore: -------------------------------------------------------------------------------- 1 | *.pdb 2 | *.xml -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins/.npmignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins/VoltstroStudios.UnityWebBrowser.Shared.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a941b290fb53e4852a26e10b53e40653 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins/VoltstroStudios.UnityWebBrowser.Shared.pdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c30eb46221247d4c95583e08c3ae193 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Plugins/VoltstroStudios.UnityWebBrowser.Shared.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71f3a2da1a66bb14fbd41ed886fbd214 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/README.md: -------------------------------------------------------------------------------- 1 | # Unity Web Browser 2 | 3 | [![License](https://img.shields.io/github/license/Voltstro-Studios/UnityWebBrowser.svg)](/LICENSE.md) 4 | [![Build Status](https://github.com/Voltstro-Studios/UnityWebBrowser/actions/workflows/main.yml/badge.svg)](https://github.com/Voltstro-Studios/UnityWebBrowser/actions/workflows/main.yml) 5 | [![Docs Status](https://img.shields.io/uptimerobot/status/m794227043-7e2bf837661fcd75d2af6804?label=Docs)](https://projects.voltstro.dev/UnityWebBrowser/latest/) 6 | 7 | Unity Web Browser (UWB) is a Unity package that allows displaying and interacting with the web from within Unity. 8 | 9 | This project is capable of using any desired web engine you want, however for now we only have an engine using [CEF](https://bitbucket.org/chromiumembedded/cef/). 10 | 11 | ## Features 12 | 13 | - Easy Installation with UPM 14 | - Multi-Platform Desktop Support (Windows, Linux & MacOS) 15 | - API to interact with the web engine 16 | - JS Interop 17 | - Extendable 18 | - 100% Open-Source 19 | 20 | ## Package Installation 21 | 22 | ### Prerequisites 23 | 24 | ``` 25 | Unity 2021.3.x 26 | ``` 27 | 28 | ### Install 29 | 30 | 1. Setup [VoltUPM](https://github.com/Voltstro/VoltstroUPM#setup) 31 | 2. Define the additional scopes `org.nuget` and `com.cysharp.unitask` with VoltUPM 32 | 3. Install UnityWebBrowser packages 33 | 34 | For a more in-depth installation guide, check out the [setup article](https://projects.voltstro.dev/UnityWebBrowser/latest/articles/user/setup/). 35 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b4f5ac62e4371e4a8abfee9cfcd5295 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cdc00c5ef5a713a09bb424f0ed78c092 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/Input System Handler.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d1374d48f2db4e12b5a2595d1f478b09, type: 3} 13 | m_Name: Input System Handler 14 | m_EditorClassIdentifier: 15 | scrollInput: 16 | m_Name: Scroll Input 17 | m_Type: 2 18 | m_ExpectedControlType: Vector2 19 | m_Id: 8507c5d7-c9f7-4dff-89cc-608986e3f9d7 20 | m_Processors: 21 | m_Interactions: 22 | m_SingletonActionBindings: 23 | - m_Name: 24 | m_Id: c0e8b49e-ee80-4158-899e-538d912b91a0 25 | m_Path: /scroll 26 | m_Interactions: 27 | m_Processors: 28 | m_Groups: 29 | m_Action: Scroll Input 30 | m_Flags: 0 31 | m_Flags: 0 32 | scrollValue: 0.2 33 | pointPosition: 34 | m_Name: Point Position 35 | m_Type: 0 36 | m_ExpectedControlType: Vector2 37 | m_Id: de7d1d14-98b1-4561-a83e-011489592e09 38 | m_Processors: 39 | m_Interactions: 40 | m_SingletonActionBindings: 41 | - m_Name: 42 | m_Id: 29af4fab-f80e-4b36-8e1f-9dd3081adc19 43 | m_Path: /position 44 | m_Interactions: 45 | m_Processors: 46 | m_Groups: 47 | m_Action: Point Position 48 | m_Flags: 0 49 | m_Flags: 0 50 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/Input System Handler.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 565be9a8022a65c7288f47df26d5fe7f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/Old Input Handler.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: e442689a76b441909487f73256975945, type: 3} 13 | m_Name: Old Input Handler 14 | m_EditorClassIdentifier: 15 | scrollAxisName: Mouse ScrollWheel 16 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/Old Input Handler.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 776a2236bf720e5cbb6ca38016918dd0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/TCP Communication Layer.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 9ad3c14c90adf0354a01f75e63c7ae7e, type: 3} 13 | m_Name: TCP Communication Layer 14 | m_EditorClassIdentifier: 15 | connectionTimeout: 7000 16 | inPort: 5555 17 | outPort: 5556 18 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Resources/TCP Communication Layer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05fef73d64ae908d1b4ec02a676d1ccc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66c9d07ac809bce4fb9f5b26384f87fe 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3d7e4031059544c93d88cb4bc3e6d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Communication.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b46dc77af23848d0db17a3f18b3d13bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Communication/CommunicationLayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9efbc080557c7b974ab45e70a292bb4c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Communication/TCPCommunicationLayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ad3c14c90adf0354a01f75e63c7ae7e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 079e80917176219fdb694be368ccd8fb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/BaseUwbClientManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c36abc2c7d64aa7bf766400472b349c 3 | timeCreated: 1642230670 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb8f994c65d877923ab8586c5f343e42 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Engine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 963255dea5edf48cc97642c66a63ca53 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/EngineConfiguration.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9692e60c1a314ca98f6bb7656e12aa54 3 | timeCreated: 1643032307 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/EngineProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2e81fb75c844780b3c94017f7f950ed 3 | timeCreated: 1710591696 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8591b53ed5974efa8b245658ff172eb6 3 | timeCreated: 1710591731 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process/IProcess.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using System.Diagnostics; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Core.Engines.Process 10 | { 11 | internal interface IProcess : IDisposable 12 | { 13 | public void StartProcess(string executable, string workingDir, string arguments, DataReceivedEventHandler onLogEvent, DataReceivedEventHandler onErrorLogEvent); 14 | 15 | public void KillProcess(); 16 | 17 | public bool HasExited { get; } 18 | 19 | public int ExitCode { get; } 20 | } 21 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process/IProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b70068bc1654874b98712207c280d40 3 | timeCreated: 1710591751 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process/LinuxProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43c55047f2ed460cba1d6f13bfb9fe74 3 | timeCreated: 1710658748 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process/MacOsProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f1ec1cdc1b241e282724920557089cc 3 | timeCreated: 1720361400 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Engines/Process/WindowProcess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd292e9a15ed4d0988b40ce3ebc5c79a 3 | timeCreated: 1710591740 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/FullscreenHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bea3bc5e9cc4e81bee8f3652a27b65b 3 | timeCreated: 1642231226 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d85cd2562f284794aa2c4314c6262b1e 3 | timeCreated: 1706604481 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/InvalidArgumentsException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Core.Js 9 | { 10 | /// 11 | /// An related to when arguments have some form of mismatch 12 | /// 13 | public sealed class InvalidArgumentsException : Exception 14 | { 15 | internal InvalidArgumentsException(string message) : base(message) 16 | { 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/InvalidArgumentsException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 514d528dab7d425cbcd79db5cd8342cf 3 | timeCreated: 1706613448 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/JsMethodManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed356221ca094e13abe3dc49d0c3fa87 3 | timeCreated: 1706604494 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/MethodNotFoundException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Core.Js 9 | { 10 | /// 11 | /// An to when a method name cannot be found 12 | /// 13 | public sealed class MethodNotFoundException : Exception 14 | { 15 | internal MethodNotFoundException(string message) : base(message) 16 | { 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/MethodNotFoundException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97875edd530c41b7864f3bc76aeccbf2 3 | timeCreated: 1706613468 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/NotEnabledException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Core.Js 9 | { 10 | /// 11 | /// An related to when JS Methods are disabled 12 | /// 13 | public sealed class NotEnabledException : Exception 14 | { 15 | internal NotEnabledException(string message) : base(message) 16 | { 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/NotEnabledException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 348b832df9ae4c6781255f9d07d2f832 3 | timeCreated: 1707547628 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/UnsupportedTypeException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Core.Js 9 | { 10 | /// 11 | /// An to when a provided is unsupported 12 | /// 13 | public sealed class UnsupportedTypeException : Exception 14 | { 15 | internal UnsupportedTypeException(string message) : base(message) 16 | { 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Js/UnsupportedTypeException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecd15180c0de4e39b4bebcba50352310 3 | timeCreated: 1707617710 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/PixelsEventTypeReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44c4882dd5d54ef398e591224b1a6f69 3 | timeCreated: 1644578740 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Popups.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01ec72dc30354393846d8ceeac3b5bb2 3 | timeCreated: 1655890407 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Popups/WebBrowserPopupInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5c91460144640b782242d47230b69d9 3 | timeCreated: 1655890438 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/Popups/WebBrowserPopupService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 410e41e866f5489790b8ccb5c2ecdde5 3 | timeCreated: 1655890353 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/RawImageUwbClientInputHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45e331dea8114e74898b060f9da20f2c 3 | timeCreated: 1642234435 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/RawImageUwbClientManager.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using UnityEngine; 8 | using UnityEngine.UI; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Core 11 | { 12 | /// 13 | /// Implementation of for rendering to a 14 | /// 15 | [RequireComponent(typeof(RawImage))] 16 | public abstract class RawImageUwbClientManager : BaseUwbClientManager 17 | { 18 | protected RawImage image; 19 | 20 | /// 21 | /// Get the instance 22 | /// 23 | public RawImage Image => image; 24 | 25 | 26 | protected override void OnStart() 27 | { 28 | image = GetComponent(); 29 | if (image == null) 30 | throw new NullReferenceException("Game object does not have a raw image component!"); 31 | 32 | image.texture = browserClient.BrowserTexture; 33 | image.uvRect = new Rect(0f, 0f, 1f, -1f); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/RawImageUwbClientManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 575933d51ab74458aba331ef16aa0450 3 | timeCreated: 1642231032 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/WebBrowserArgsBuilder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5978c1cc260c43e408742325e7042bad 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/WebBrowserClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be7482956d1c65248a2d3c842fdbdf21 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Core/WebBrowserCommunicationsManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c842f269631173478419eedd67ff85a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e275cb83d230ee1cdb203d985f580125 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/Drawers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbc1eef4f84b5674da3d6fa3c258fced 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/Drawers/ResolutionDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 240d24cabfbb64b47a3db3d54a1b45fc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/EditorHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d82fc21e934405190e214fd91203e28 3 | timeCreated: 1643025402 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/EngineManagement.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6024a71bf5a549fcbc7bb18fe9897704 3 | timeCreated: 1642051454 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/EngineManagement/EngineManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f4e04e2f85149cca6f7ad2c247bb8cd 3 | timeCreated: 1642949053 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Editor/EngineManagement/EngineManagerPostprocess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33570d136a5e096eaa1932ca8954017a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e245bbf19fe44a7458654903c67b5eec 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnClientConnected.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | /// 9 | /// Delegate for when connects to the engine 10 | /// 11 | public delegate void OnClientConnected(); 12 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnClientConnected.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8676a2c6ad164376ae5d55392f0a465d 3 | timeCreated: 1708000920 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnClientInitialized.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnClientInitialized(); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnClientInitialized.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb676db8b3894b94a3b806e596bfaa54 3 | timeCreated: 1706616744 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnFullscreenChange.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnFullscreenChange(bool fullscreen); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnFullscreenChange.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fbfe02bf8474144db4204d439af13f7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnInputFocus.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2023 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnInputFocus(bool focused); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnInputFocus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf52d8276ac94a56a9072dc329e216dc 3 | timeCreated: 1685177305 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadFinish.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnLoadFinishDelegate(string url); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadFinish.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c9e34e0dcb5a654d8aab54a5579ed09 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadStart.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnLoadStartDelegate(string url); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadStart.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5aabc95f558bde4c94ef5e2773611e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadingProgressChange.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnLoadingProgressChange(double progress); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnLoadingProgressChange.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bea7781e77a594459f436d0d37b3086 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnPopup.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltstroStudios.UnityWebBrowser.Core.Popups; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Events 9 | { 10 | public delegate void OnPopup(WebBrowserPopupInfo popupInfo); 11 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnPopup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8002931dc60493fba7c048013d7c982 3 | timeCreated: 1653732534 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnTitleChange.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnTitleChange(string title); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnTitleChange.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 683ddd2131eaa1148ba080b6173a9ff7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnUrlChange.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Events 7 | { 8 | public delegate void OnUrlChangeDelegate(string url); 9 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Events/OnUrlChange.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38b94702b281c264f9b4cae28e52bbda 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Helper.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 716a1812a25c37f8489a136dcdcbce26 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Helper/ProcessExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 832ae44c28bd2f74f94e4a076ec0e3af 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Helper/WebBrowserUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0fb3e3c606827e47affc06afc513c6f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Input.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 184e7f59c0e2876418c6ffb3be1c14d1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Input/WebBrowserInputHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bb63c82212f480f9d69b5a7feeef6ae 3 | timeCreated: 1642231892 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Input/WebBrowserInputHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a263a64188e186f4387aea942afde6ae 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Input/WebBrowserInputSystemHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1374d48f2db4e12b5a2595d1f478b09 3 | timeCreated: 1642232070 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Input/WebBrowserOldInputHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e442689a76b441909487f73256975945 3 | timeCreated: 1642260667 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ae5447201cd1cc4c9fa632bbb58cd55 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/DefaultUnityWebBrowserLogger.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using UnityEngine; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Logging 9 | { 10 | /// 11 | /// An using Unity's 12 | /// 13 | public sealed class DefaultUnityWebBrowserLogger : IWebBrowserLogger 14 | { 15 | private const string LoggingTag = "[UWB]"; 16 | 17 | private readonly ILogger logger; 18 | 19 | public DefaultUnityWebBrowserLogger() 20 | { 21 | logger = UnityEngine.Debug.unityLogger; 22 | } 23 | 24 | public void Debug(object message) 25 | { 26 | logger.Log(LogType.Log, LoggingTag, message); 27 | } 28 | 29 | public void Warn(object message) 30 | { 31 | logger.LogWarning(LoggingTag, message); 32 | } 33 | 34 | public void Error(object message) 35 | { 36 | logger.LogError(LoggingTag, message); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/DefaultUnityWebBrowserLogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76a6e52a9ed9fa941b0afb123e290ce6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/IWebBrowserLogger.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Logging 7 | { 8 | /// 9 | /// Interface for the web browser's logger. 10 | /// Implement 11 | /// 12 | public interface IWebBrowserLogger 13 | { 14 | public void Debug(object message); 15 | 16 | public void Warn(object message); 17 | 18 | public void Error(object message); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/IWebBrowserLogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53e742e3cff7d21419411caf8b766648 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/JsonLogSeverityConverter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa6e093e668441a7bb506314e196176d 3 | timeCreated: 1641109104 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/JsonLogStructure.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using Newtonsoft.Json; 8 | using UnityEngine.Scripting; 9 | using VoltstroStudios.UnityWebBrowser.Shared; 10 | 11 | namespace VoltstroStudios.UnityWebBrowser.Logging 12 | { 13 | [Preserve] 14 | internal class JsonLogStructure 15 | { 16 | [JsonProperty("@t")] 17 | public DateTime Timestamp { get; set; } 18 | 19 | [JsonProperty("@m")] 20 | public string Message { get; set; } 21 | 22 | [JsonConverter(typeof(JsonLogSeverityConverter))] 23 | [JsonProperty("@l")] 24 | public LogSeverity Level { get; set; } = LogSeverity.Info; 25 | 26 | [JsonProperty("@x")] 27 | public string Exception { get; set; } 28 | 29 | [JsonProperty("@i")] 30 | public string EventId { get; set; } 31 | 32 | [JsonProperty("SourceContext")] 33 | public string Category { get; set; } 34 | } 35 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/JsonLogStructure.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d005a77b6b6c4a6e95f5524ceef91d9b 3 | timeCreated: 1641108376 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Logging/ProcessLogHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cc14bd10d9cdb04cb5dee06fe975264 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Removed.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c8b204214964e56bf1a47ea5b272555 3 | timeCreated: 1642262406 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Removed/WebBrowserUI.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | #if UNITY_EDITOR 7 | 8 | using System; 9 | using System.ComponentModel; 10 | using UnityEngine; 11 | 12 | // ReSharper disable once CheckNamespace 13 | namespace UnityWebBrowser 14 | { 15 | [EditorBrowsable(EditorBrowsableState.Never)] 16 | [Obsolete("The WebBrowserUI is Obsolete now! Use WebBrowserUIBasic or WebBrowserUIFull.", true)] 17 | [HelpURL("https://github.com/Voltstro-Studios/UnityWebBrowser")] 18 | public sealed class WebBrowserUI : MonoBehaviour 19 | { 20 | private void Start() 21 | { 22 | Debug.LogError("You need to upgrade to the new WebBrowserUIBasic or WebBrowserUIFull script!"); 23 | } 24 | } 25 | } 26 | 27 | #endif -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/Removed/WebBrowserUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a1b3c29db30831458683c82a632cde6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 50 8 | icon: {fileID: 2800000, guid: 841a65227df540c8188ab9fd0521ffd2, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbHasInitializedException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license.See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser 9 | { 10 | /// 11 | /// An related to when trying to change something that cannot be changed when the 12 | /// UWB has already initalized 13 | /// 14 | public sealed class UwbHasInitializedException : Exception 15 | { 16 | internal UwbHasInitializedException(string message) : base(message) 17 | { 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbHasInitializedException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e79921933dde4b3d8a5d2ea8d09ce05b 3 | timeCreated: 1728181001 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsConnectedException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser 9 | { 10 | /// 11 | /// An related to when you are trying to change something that cannot be changed when the 12 | /// engine is already running 13 | /// 14 | public sealed class UwbIsConnectedException : Exception 15 | { 16 | internal UwbIsConnectedException(string message) 17 | : base(message) 18 | { 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsConnectedException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b76ed434058ffe34dbbf37671abaa7ee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsNotConnectedException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser 9 | { 10 | /// 11 | /// An related to when you are trying to do something when the engine is not running 12 | /// 13 | public sealed class UwbIsNotConnectedException : Exception 14 | { 15 | internal UwbIsNotConnectedException(string message) : base(message) 16 | { 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsNotConnectedException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b612217a7f70114c8e4efd7c4303fb8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsNotReadyException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser 9 | { 10 | /// 11 | /// An when UWB is not ready 12 | /// 13 | public sealed class UwbIsNotReadyException : Exception 14 | { 15 | internal UwbIsNotReadyException(string message) 16 | : base(message) 17 | { 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/UwbIsNotReadyException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfdf08e67a5d2679bad879375f3decc6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/VoltstroStudios.UnityWebBrowser.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e287cc7b3c8a0245a7d36254472d3c8 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIBasic.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using UnityEngine; 7 | using VoltstroStudios.UnityWebBrowser.Core; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser 10 | { 11 | /// 12 | /// Basic version of UWB. Lacks fullscreen controls 13 | /// 14 | [AddComponentMenu("UWB/Web Browser Basic")] 15 | [HelpURL("https://github.com/Voltstro-Studios/UnityWebBrowser")] 16 | public sealed class WebBrowserUIBasic : RawImageUwbClientInputHandler 17 | { 18 | } 19 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIBasic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53d0570114d34f649962da70092c0cea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: f1f3817174abeeb4995f65e76bea4e84, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIControls.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e1241a22316dc94cafbc1d7823e4516 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: f1f3817174abeeb4995f65e76bea4e84, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIControlsTMP.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cda203de1f01db049a8c6c4d1359c877 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: f1f3817174abeeb4995f65e76bea4e84, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIFull.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using UnityEngine; 7 | using VoltstroStudios.UnityWebBrowser.Core; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser 10 | { 11 | /// 12 | /// Full fat version of UWB, has fullscreen controls. 13 | /// 14 | [AddComponentMenu("UWB/Web Browser Full")] 15 | [HelpURL("https://github.com/Voltstro-Studios/UnityWebBrowser")] 16 | public sealed class WebBrowserUIFull : RawImageUwbClientInputHandler 17 | { 18 | public FullscreenHandler fullscreenHandler = new(); 19 | 20 | protected override void OnStart() 21 | { 22 | base.OnStart(); 23 | fullscreenHandler.graphicComponent = image; 24 | browserClient.OnFullscreen += fullscreenHandler.OnEngineFullscreen; 25 | } 26 | 27 | protected override void OnDestroyed() 28 | { 29 | base.OnDestroyed(); 30 | browserClient.OnFullscreen -= fullscreenHandler.OnEngineFullscreen; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Runtime/WebBrowserUIFull.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7579b8529af44d63b0231e2e69d8bc0a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: f1f3817174abeeb4995f65e76bea4e84, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dfa694305293f4459bc5a7558aae369 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/Packages/UnityWebBrowser/Samples~/Basic/Materials/arrow.png -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials/credits.txt: -------------------------------------------------------------------------------- 1 | Icon Credits: 2 | Refresh icon made by Freepik: 3 | https://www.flaticon.com/free-icon/reload_560463 4 | 5 | Right Arrow icon made by Roundicons: 6 | https://www.flaticon.com/free-icon/right-arrow_271226 7 | 8 | Next icon made by Chanut: 9 | https://www.flaticon.com/free-icon/next_151858 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials/credits.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8a56b3f729264f4c946968700b74454 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/Packages/UnityWebBrowser/Samples~/Basic/Materials/reload.png -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Materials/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/Packages/UnityWebBrowser/Samples~/Basic/Materials/right-arrow.png -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76c87038ba41f3d48bcf9f1682cc4aa9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Prefabs/UnityWebBrowser (TMP).prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b59194ee6b7484d469d7886e9d2c9e6f 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Basic/Prefabs/UnityWebBrowser.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb44fadbfd943194e85df7faf3a9dc5b 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Samples~/Runtime/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b25dfc4c6a70e24fb38833255c4acc1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fe8c1cf724c4e00ca298c6b78450387 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec3a323747954cd396e6fd11000d1c27 3 | timeCreated: 1643025479 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/EditorHelperFindAssetTestAsset.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using UnityEngine; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Tests.Editor 9 | { 10 | public class EditorHelperFindAssetTestAsset : ScriptableObject 11 | { 12 | public int value; 13 | } 14 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/EditorHelperFindAssetTestAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8193d2e5b5ef4b3e903f922730604cf0 3 | timeCreated: 1643025757 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/EditorHelperTests.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Collections.Generic; 7 | using NUnit.Framework; 8 | using VoltstroStudios.UnityWebBrowser.Editor; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Tests.Editor 11 | { 12 | public class EditorHelperTests 13 | { 14 | [Test] 15 | public void FindAssetsByTypeTest() 16 | { 17 | List assets = 18 | EditorHelper.FindAssetsByType(); 19 | Assert.AreEqual(1, assets.Count); 20 | 21 | Assert.AreEqual(69420, assets[0].value); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/EditorHelperTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d762143e9e304e2ea7c77690eb0a10d6 3 | timeCreated: 1643025493 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11902c5dd6ffa9464a1b1aad352b2b7d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/Resources/EditorHelperFindAssetTestAsset.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8193d2e5b5ef4b3e903f922730604cf0, type: 3} 13 | m_Name: EditorHelperFindAssetTestAsset 14 | m_EditorClassIdentifier: 15 | value: 69420 16 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/Resources/EditorHelperFindAssetTestAsset.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5948fac0c4ee2be98c502d1840cbecb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/UnityWebBrowser.Tests.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VoltstroStudios.UnityWebBrowser.Tests.Editor", 3 | "rootNamespace": "VoltstroStudios.UnityWebBrowser.Tests.Editor", 4 | "references": [ 5 | "UnityEditor.TestRunner", 6 | "VoltstroStudios.UnityWebBrowser" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": true, 14 | "precompiledReferences": [ 15 | "nunit.framework.dll" 16 | ], 17 | "autoReferenced": false, 18 | "defineConstraints": [ 19 | "UNITY_INCLUDE_TESTS" 20 | ], 21 | "versionDefines": [], 22 | "noEngineReferences": false 23 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Editor/UnityWebBrowser.Tests.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d74ab631f1d54e9ea7345714e7e7ed05 3 | timeCreated: 1643025507 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5a927ecdf23a7ec7998c12b235fc156 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/JsMethodManagerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af2ac72b41a24000b73f944fecf7c0f1 3 | timeCreated: 1706777050 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/LoggerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7dab105f51576620bb9d241127e37f12 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/VoltstroStudios.UnityWebBrowser.Tests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VoltstroStudios.UnityWebBrowser.Tests", 3 | "rootNamespace": "VoltstroStudios.UnityWebBrowser.Tests", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "VoltstroStudios.UnityWebBrowser", 8 | "UniTask", 9 | "UniTask.Linq" 10 | ], 11 | "includePlatforms": [], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": false, 14 | "overrideReferences": true, 15 | "precompiledReferences": [ 16 | "nunit.framework.dll", 17 | "VoltstroStudios.UnityWebBrowser.Shared.dll" 18 | ], 19 | "autoReferenced": false, 20 | "defineConstraints": [ 21 | "UNITY_INCLUDE_TESTS" 22 | ], 23 | "versionDefines": [], 24 | "noEngineReferences": false 25 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/VoltstroStudios.UnityWebBrowser.Tests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ccba0289b25728688ae4da45fd9f039 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/WebBrowserClientTests.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Collections; 7 | using Cysharp.Threading.Tasks; 8 | using NUnit.Framework; 9 | using UnityEngine; 10 | using UnityEngine.TestTools; 11 | using VoltstroStudios.UnityWebBrowser.Core; 12 | 13 | namespace VoltstroStudios.UnityWebBrowser.Tests 14 | { 15 | public class WebBrowserClientTests 16 | { 17 | [UnityTest] 18 | public IEnumerator WaitForReadyFailTest() 19 | { 20 | return UniTask.ToCoroutine(async () => 21 | { 22 | LogAssert.Expect(LogType.Error, 23 | "[Web Browser]: The engine did not get ready within engine startup timeout!"); 24 | LogAssert.Expect(LogType.Log, "[Web Browser]: UWB shutdown..."); 25 | 26 | WebBrowserClient client = new(); 27 | await client.WaitForEngineReadyTask(default); 28 | 29 | Assert.That(client.HasDisposed); 30 | }); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/WebBrowserClientTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 650d5f9a89104b53903b96126b96310b 3 | timeCreated: 1641138347 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/WebBrowserUtilsTests.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using NUnit.Framework; 7 | using UnityEngine; 8 | using VoltstroStudios.UnityWebBrowser.Helper; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Tests 11 | { 12 | public class WebBrowserUtilsTests 13 | { 14 | [Test] 15 | public void ColorToHexBlackTest() 16 | { 17 | Color32 color = Color.black; 18 | string hex = WebBrowserUtils.ColorToHex(color); 19 | StringAssert.AreEqualIgnoringCase("000000ff", hex); 20 | } 21 | 22 | [Test] 23 | public void ColorToHexRedTest() 24 | { 25 | Color32 color = Color.red; 26 | string hex = WebBrowserUtils.ColorToHex(color); 27 | StringAssert.AreEqualIgnoringCase("ff0000ff", hex); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/Tests/Runtime/WebBrowserUtilsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7fbc2dccbed4cebb22ee16d2a08237e 3 | timeCreated: 1641552985 -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev.voltstro.unitywebbrowser", 3 | "displayName": "Unity Web Browser", 4 | "description": "Unity Web Browser (UWB) is a Unity package that allows displaying and interacting with the web from within Unity.", 5 | "version": "2.2.6", 6 | "unity": "2021.3", 7 | "author": { 8 | "name": "Voltstro", 9 | "email": "me@voltstro.dev", 10 | "url": "https://voltstro.dev" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/Voltstro-Studios/UnityWebBrowser.git" 15 | }, 16 | "hideInEditor": false, 17 | "changelogUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/changelog/", 18 | "documentationUrl": "https://projects.voltstro.dev/UnityWebBrowser/latest/", 19 | "licensesUrl": "https://github.com/Voltstro-Studios/UnityWebBrowser/blob/master/LICENSE.md", 20 | "dependencies": { 21 | "dev.voltstro.nativearrayspanextensions": "1.0.1", 22 | "com.unity.nuget.newtonsoft-json": "3.2.1", 23 | "com.cysharp.unitask": "2.5.10", 24 | "org.nuget.voltrpc": "3.2.1" 25 | }, 26 | "samples": [ 27 | { 28 | "displayName": "Basic", 29 | "description": "Basic set of prefabs for UWB.", 30 | "path": "Samples~/Basic" 31 | }, 32 | { 33 | "displayName": "Runtime Example", 34 | "description": "Basic script example of creating everything for UWB at runtime dynamically", 35 | "path": "Samples~/Runtime" 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /src/Packages/UnityWebBrowser/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f950080dabfaa84ebe48ca3c0308447 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- 1 | # UnityWebBrowser Source 2 | 3 | Source code for UWB. 4 | -------------------------------------------------------------------------------- /src/ThirdParty/Libs/cef/.gitignore: -------------------------------------------------------------------------------- 1 | temp/ 2 | linux64/ 3 | macosarm64/ 4 | macosx64/ 5 | windows64/ 6 | 7 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | CEF -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Main/Program.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using UnityWebBrowser.Engine.Cef.Core; 7 | 8 | namespace UnityWebBrowser.Engine.Cef; 9 | 10 | /// 11 | /// Main class for this program 12 | /// 13 | public static class Program 14 | { 15 | /// 16 | /// Entry point 17 | /// 18 | /// 19 | /// 20 | public static int Main(string[] args) 21 | { 22 | UwbCefEngineEntry cefEngineEntry = new(); 23 | return cefEngineEntry.Main(args); 24 | } 25 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Main/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.Engine.Cef/Main/icon.icns -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Main/info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | UnityWebBrowser.Engine.Cef 9 | CFBundleIconFile 10 | icon.icns 11 | CFBundleIdentifier 12 | dev.voltstro.uwb.engine.cef 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | UnityWebBrowser.Engine.Cef 17 | CFBundlePackageType 18 | APPL 19 | CFBundleVersion 20 | 1.0 21 | LSMinimumSystemVersion 22 | 10.13.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | NSSupportAutomaticGraphicsSwitching 28 | 29 | LSUIElement 30 | 1 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Runtime.CompilerServices; 7 | 8 | [assembly: InternalsVisibleTo("UnityWebBrowser.Engine.Cef")] -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/Messages/IMessageBase.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser.Messages; 7 | 8 | /// 9 | /// Base interface for 10 | /// 11 | public interface IMessageBase 12 | { 13 | public object Deserialize(string value); 14 | 15 | public void Execute(object value); 16 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/Messages/MessageBase.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Text.Json; 7 | using System.Text.Json.Serialization; 8 | using Xilium.CefGlue; 9 | 10 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser.Messages; 11 | 12 | /// 13 | /// Base class for a message that needs to be transmitted 14 | /// 15 | public abstract class MessageBase : IMessageBase 16 | { 17 | [JsonIgnore] public abstract string MessageName { get; } 18 | 19 | public object Deserialize(string value) 20 | { 21 | return (T)JsonSerializer.Deserialize(value, typeof(T), SourceGenerationContext.Default); 22 | } 23 | 24 | public void Execute(object value) 25 | { 26 | Execute((T)value); 27 | } 28 | 29 | public string Serialize(object obj) 30 | { 31 | return JsonSerializer.Serialize(obj, typeof(T), SourceGenerationContext.Default); 32 | } 33 | 34 | /// 35 | /// Sends the message to the browser process 36 | /// 37 | public void SendMessage() 38 | { 39 | CefBrowser browser = CefV8Context.GetCurrentContext().GetBrowser(); 40 | browser!.GetMainFrame()!.SendProcessMessage(CefProcessId.Browser, 41 | CefProcessMessage.Create($"{MessageName}: {Serialize(this)}")); 42 | } 43 | 44 | protected abstract void Execute(T value); 45 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/Messages/SourceGenerationContext.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using System.Text.Json.Serialization; 8 | using UnityWebBrowser.Engine.Cef.Shared.Browser.Js; 9 | using VoltstroStudios.UnityWebBrowser.Shared.Js; 10 | 11 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser.Messages; 12 | 13 | [JsonSourceGenerationOptions(WriteIndented = false)] 14 | [JsonSerializable(typeof(ExecuteJsMethodMessage))] 15 | [JsonSerializable(typeof(JsValue))] 16 | [JsonSerializable(typeof(int))] 17 | [JsonSerializable(typeof(double))] 18 | [JsonSerializable(typeof(uint))] 19 | [JsonSerializable(typeof(bool))] 20 | [JsonSerializable(typeof(DateTime))] 21 | [JsonSerializable(typeof(JsObjectHolder))] 22 | [JsonSerializable(typeof(JsObjectKeyValue[]))] 23 | [JsonSerializable(typeof(JsValue[]))] 24 | internal partial class SourceGenerationContext : JsonSerializerContext 25 | { 26 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/Schemes/PageResourceScheme.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using System.IO; 8 | using Xilium.CefGlue; 9 | 10 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser.Schemes; 11 | 12 | public sealed class PageResourceScheme : CefSchemeHandlerFactory, IDisposable 13 | { 14 | private readonly string mimeType; 15 | private readonly Stream stream; 16 | 17 | public PageResourceScheme(Stream stream, string mimeType = StreamCefResourceHandler.DefaultMimeType) 18 | { 19 | this.stream = stream; 20 | this.mimeType = mimeType; 21 | } 22 | 23 | public void Dispose() 24 | { 25 | stream.Dispose(); 26 | } 27 | 28 | protected override CefResourceHandler Create(CefBrowser browser, CefFrame frame, string schemeName, 29 | CefRequest request) 30 | { 31 | return new StreamCefResourceHandler(mimeType, stream); 32 | } 33 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/UwbCefBrowserProcessHandler.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using UnityWebBrowser.Engine.Cef.Shared.Browser.Schemes; 8 | using VoltstroStudios.UnityWebBrowser.Engine.Shared.Pages; 9 | using Xilium.CefGlue; 10 | 11 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser; 12 | 13 | public class UwbCefBrowserProcessHandler : CefBrowserProcessHandler, IDisposable 14 | { 15 | private readonly PageResourceScheme aboutPage; 16 | 17 | public UwbCefBrowserProcessHandler() 18 | { 19 | aboutPage = new PageResourceScheme(PagesHandler.GetAboutPageCode()); 20 | } 21 | 22 | public void Dispose() 23 | { 24 | aboutPage?.Dispose(); 25 | GC.SuppressFinalize(this); 26 | } 27 | 28 | protected override void OnContextInitialized() 29 | { 30 | CefRuntime.RegisterSchemeHandlerFactory("uwb", "about", aboutPage); 31 | } 32 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/UwbCefContextMenuHandler.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using Xilium.CefGlue; 7 | 8 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser; 9 | 10 | public class UwbCefContextMenuHandler : CefContextMenuHandler 11 | { 12 | protected override bool RunContextMenu(CefBrowser browser, CefFrame frame, CefContextMenuParams parameters, 13 | CefMenuModel model, 14 | CefRunContextMenuCallback callback) 15 | { 16 | return true; 17 | } 18 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Browser/UwbCefLoadHandler.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Linq; 7 | using UnityWebBrowser.Engine.Cef.Core; 8 | using Xilium.CefGlue; 9 | 10 | namespace UnityWebBrowser.Engine.Cef.Shared.Browser; 11 | 12 | /// 13 | /// implementation 14 | /// 15 | public class UwbCefLoadHandler : CefLoadHandler 16 | { 17 | private readonly UwbCefClient client; 18 | private readonly string[] ignoredLoadUrls = { "about:blank" }; 19 | 20 | internal UwbCefLoadHandler(UwbCefClient client) 21 | { 22 | this.client = client; 23 | } 24 | 25 | protected override void OnLoadStart(CefBrowser browser, CefFrame frame, CefTransitionType transitionType) 26 | { 27 | string url = frame.Url; 28 | if (ignoredLoadUrls.Contains(url)) 29 | return; 30 | 31 | CefLoggerWrapper.Debug($"Load start: {url}"); 32 | 33 | if (frame.IsMain) client.ClientControls.LoadStart(url); 34 | } 35 | 36 | protected override void OnLoadEnd(CefBrowser browser, CefFrame frame, int httpStatusCode) 37 | { 38 | string url = frame.Url; 39 | if (ignoredLoadUrls.Contains(url)) 40 | return; 41 | 42 | CefLoggerWrapper.Debug($"Load end: {url}"); 43 | 44 | if (frame.IsMain) client.ClientControls.LoadFinish(url); 45 | } 46 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Core/CefActionTask.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using Xilium.CefGlue; 8 | 9 | namespace UnityWebBrowser.Engine.Cef.Core; 10 | 11 | public class CefActionTask : CefTask 12 | { 13 | private Action action; 14 | 15 | public CefActionTask(Action action) 16 | { 17 | this.action = action; 18 | } 19 | 20 | protected override void Execute() 21 | { 22 | action(); 23 | action = null; 24 | } 25 | 26 | public static void PostTask(CefThreadId threadId, Action action) 27 | { 28 | CefRuntime.PostTask(threadId, new CefActionTask(action)); 29 | } 30 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/Core/CefMacOsFrameworkLoader.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license.See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using System.IO; 8 | using System.Runtime.InteropServices; 9 | using System.Runtime.Loader; 10 | 11 | namespace UnityWebBrowser.Engine.Cef.Shared.Core; 12 | 13 | #if MACOS 14 | 15 | public static class CefMacOsFrameworkLoader 16 | { 17 | public static void AddFrameworkLoader() 18 | { 19 | AssemblyLoadContext.Default.ResolvingUnmanagedDll += (_, libName) => 20 | { 21 | string basePath = Environment.CurrentDirectory; 22 | bool includeExt = true; 23 | 24 | if(libName == "libcef") 25 | { 26 | basePath = Path.Combine(basePath, "../Frameworks/", "Chromium Embedded Framework.framework"); 27 | libName = "Chromium Embedded Framework"; 28 | includeExt = false; 29 | } 30 | else 31 | { 32 | basePath = Path.Combine(basePath, "../Frameworks/", "Chromium Embedded Framework.framework/Libraries"); 33 | } 34 | 35 | string fullPath = Path.GetFullPath(Path.Combine(basePath, libName)); 36 | if (includeExt) 37 | fullPath += ".dylib"; 38 | 39 | return NativeLibrary.Load(fullPath); 40 | }; 41 | } 42 | } 43 | 44 | #endif -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/Shared/chromium-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.Engine.Cef/Shared/chromium-logo.ico -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/SubProcess/info-subprocess-gpu.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | UnityWebBrowser.Engine.Cef.SubProcess (GPU) 9 | CFBundleExecutable 10 | UnityWebBrowser.Engine.Cef.SubProcess (GPU) 11 | CFBundleIdentifier 12 | dev.voltstro.uwb.engine.cef.subprocess.gpu 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | UnityWebBrowser.Engine.Cef.SubProcess (GPU) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.15.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/SubProcess/info-subprocess-plugin.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | UnityWebBrowser.Engine.Cef.SubProcess (Plugin) 9 | CFBundleExecutable 10 | UnityWebBrowser.Engine.Cef.SubProcess (Plugin) 11 | CFBundleIdentifier 12 | dev.voltstro.uwb.engine.cef.subprocess.plugin 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | UnityWebBrowser.Engine.Cef.SubProcess (Plugin) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.15.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/SubProcess/info-subprocess-renderer.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | UnityWebBrowser.Engine.Cef.SubProcess (Renderer) 9 | CFBundleExecutable 10 | UnityWebBrowser.Engine.Cef.SubProcess (Renderer) 11 | CFBundleIdentifier 12 | dev.voltstro.uwb.engine.cef.subprocess.renderer 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | UnityWebBrowser.Engine.Cef.SubProcess (Renderer) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.15.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/SubProcess/info-subprocess.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | UnityWebBrowser.Engine.Cef.SubProcess 9 | CFBundleExecutable 10 | UnityWebBrowser.Engine.Cef.SubProcess 11 | CFBundleIdentifier 12 | dev.voltstro.uwb.engine.cef.subprocess 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | UnityWebBrowser.Engine.Cef.SubProcess 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | LSEnvironment 22 | 23 | MallocNanoZone 24 | 0 25 | 26 | LSFileQuarantineEnabled 27 | 28 | LSMinimumSystemVersion 29 | 10.15.0 30 | LSUIElement 31 | 1 32 | NSSupportsAutomaticGraphicsSwitching 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Engine.Cef/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "2.2.6+13342", 4 | "publicReleaseRefSpec": [ 5 | "^refs/heads/master$" 6 | ], 7 | "cloudBuild": { 8 | "buildNumber": { 9 | "enabled": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist/**/*.js 4 | dist/**/*.css 5 | dist-ssr 6 | *.local -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/README.md: -------------------------------------------------------------------------------- 1 | # UnityWebBrowser.Pages 2 | 3 | This node project contains the files for building the HTML pages that are included in the engines. 4 | 5 | ## Prerequisites 6 | 7 | ``` 8 | Node 9 | pnpm 10 | ``` 11 | 12 | 1. Run `pnpm install` in the root of the pages project 13 | 14 | 2. Run `pnpm run start` to preview the site in your local browser. 15 | 16 | 3. Run `pnpm run build` to build the pages. They will be placed in the `dist/` folder. The UWB CEF engine project will automatically included them as an embedded resources. 17 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UWB - About 6 | 7 | 8 |
9 |

Unity Web Browser About

10 |

UWB by Voltstro-Studios, under MIT license.

11 | 12 |

13 | UWB Engine Version: Getting...
14 | Web Engine Name: Getting...
15 | Web Engine Version: Getting... 16 |

17 |

GitHub | Site

18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/dist/about.html: -------------------------------------------------------------------------------- 1 | UWB - About

Unity Web Browser About

UWB by Voltstro-Studios, under MIT license.

UWB Engine Version: Getting...
Web Engine Name: Getting...
Web Engine Version: Getting...

GitHub | Site

-------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uwb.pages", 3 | "version": "0.0.0", 4 | "license": "MIT", 5 | "type": "module", 6 | "scripts": { 7 | "start": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "devDependencies": { 12 | "@types/node": "^22.0.0", 13 | "typescript": "^5.7.3", 14 | "vite": "^6.1.0", 15 | "vite-plugin-minify": "^2.1.0", 16 | "vite-plugin-singlefile": "^2.1.0" 17 | }, 18 | "packageManager": "pnpm@10.6.4+sha512.da3d715bfd22a9a105e6e8088cfc7826699332ded60c423b14ec613a185f1602206702ff0fe4c438cb15c979081ce4cb02568e364b15174503a63c7a8e2a5f6c", 19 | "pnpm": { 20 | "onlyBuiltDependencies": [ 21 | "esbuild" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/src/about.ts: -------------------------------------------------------------------------------- 1 | function aboutPage(): void { 2 | //Version variables 3 | const uwb = window.uwb; 4 | 5 | if(!uwb) { 6 | console.error('[UWB About] Failed to get version info! Probably not running in a UWB engine!') 7 | return; 8 | } 9 | 10 | const uwbEngineVersion = uwb.EngineVersion; 11 | const webEngineName = uwb.EngineName; 12 | const webEngineVersion = uwb.EngineVersion; 13 | 14 | //Doc Elements 15 | var uwbEngineVersionText = document.getElementById('uwbEngineVersionText'); 16 | var webEngineNameText = document.getElementById('webEngineNameText'); 17 | var webEngineVersionText = document.getElementById('webEngineVersionText'); 18 | 19 | if(uwbEngineVersionText != null) { 20 | uwbEngineVersionText.textContent = uwbEngineVersion; 21 | } 22 | 23 | if(webEngineNameText != null) { 24 | webEngineNameText.textContent = webEngineName; 25 | } 26 | 27 | if(webEngineVersionText != null) { 28 | webEngineVersionText.textContent = webEngineVersion; 29 | } 30 | 31 | console.log('[UWB About] Found version info!'); 32 | } 33 | 34 | aboutPage(); 35 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/src/main.ts: -------------------------------------------------------------------------------- 1 | import './style.css' 2 | 3 | interface UWB { 4 | EngineVersion: string; 5 | EngineName: string; 6 | bEngineVersion: string; 7 | } 8 | 9 | declare global { 10 | 11 | interface Window { 12 | uwb: UWB; 13 | } 14 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/src/style.css: -------------------------------------------------------------------------------- 1 | .content { 2 | font-family: Avenir, Helvetica, Arial, sans-serif; 3 | margin: 40px 25px 25px 25px; 4 | } 5 | 6 | .header { 7 | border-bottom: black 2px solid; 8 | } 9 | 10 | .bottom-spacer { 11 | margin-bottom: 1.2em; 12 | } 13 | 14 | .footer { 15 | position:absolute; 16 | bottom:0; 17 | } 18 | 19 | .fuckyou-text { 20 | font-size: 8px; 21 | color: grey; 22 | } 23 | 24 | body { 25 | background-color: white; 26 | } 27 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": ["ESNext", "DOM"], 7 | "moduleResolution": "Node", 8 | "strict": true, 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "esModuleInterop": true, 12 | "noEmit": true, 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "noImplicitReturns": true 16 | }, 17 | "include": ["./src"] 18 | } 19 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.Pages/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { viteSingleFile } from 'vite-plugin-singlefile'; 2 | import { ViteMinifyPlugin } from 'vite-plugin-minify'; 3 | import { resolve } from 'path'; 4 | import { defineConfig } from 'vite'; 5 | 6 | export default defineConfig({ 7 | plugins: [viteSingleFile({useRecommendedBuildConfig: true, removeViteModuleLoader: true}), ViteMinifyPlugin({})], 8 | build: { 9 | target: 'esnext', 10 | rollupOptions: { 11 | input: { 12 | main: resolve(__dirname, 'about.html') 13 | } 14 | }, 15 | minify: true 16 | }, 17 | server: { 18 | open: '/about.html' 19 | }, 20 | 21 | }) 22 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | file_header_template=UnityWebBrowser (UWB)\nCopyright (c) 2021-2022 Voltstro-Studios\n\nThis project is under the MIT license. See the LICENSE.md file for more details. 3 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dfa694305293f4459bc5a7558aae369 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.UnityProject/Assets/Materials/arrow.png -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials/credits.txt: -------------------------------------------------------------------------------- 1 | Icon Credits: 2 | Refresh icon made by Freepik: 3 | https://www.flaticon.com/free-icon/reload_560463 4 | 5 | Right Arrow icon made by Roundicons: 6 | https://www.flaticon.com/free-icon/right-arrow_271226 7 | 8 | Next icon made by Chanut: 9 | https://www.flaticon.com/free-icon/next_151858 -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials/credits.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8a56b3f729264f4c946968700b74454 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.UnityProject/Assets/Materials/reload.png -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Materials/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.UnityProject/Assets/Materials/right-arrow.png -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76c87038ba41f3d48bcf9f1682cc4aa9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Prefabs/UnityWebBrowser (TMP).prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b59194ee6b7484d469d7886e9d2c9e6f 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Prefabs/UnityWebBrowser.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb44fadbfd943194e85df7faf3a9dc5b 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22356be1fa6d24903ba624678d8c03c5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Resources/UWBImGuiIni.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 0e48206e359bc1247a32a885f4b70748, type: 3} 13 | m_Name: UWBImGuiIni 14 | m_EditorClassIdentifier: 15 | _data: '[Window][UWB Debug UI] 16 | 17 | Pos=391,0 18 | 19 | Size=1527,828 20 | 21 | Collapsed=1' 22 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Resources/UWBImGuiIni.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60f1b1736534ad2bd9e082c43895730f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 131a6b21c8605f84396be9f6751fb6e3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scenes/UWB.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cda990e2423bbf4892e6590ba056729 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scenes/UWBHeadless.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e324d0c4ba306848bdca32d9b1b6156 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scenes/UWBRuntime.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10757ea1686822e43a40978a339bfb2b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e193830c826552f0ab979289120e655 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/UWBHeadless.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6e7077b245afb64ea26652f36ed3595 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/UWBPrjDebugUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79379ff4fd8f41ad38f67d58330b0f2c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/UWBPrjDemo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70dbcf8280994c52ae89774ef4b1a0c8 3 | timeCreated: 1706532673 -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/UWBRuntime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41445004a10b3344f92a7c5562dbddf7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/VoltstroStudios.UnityWebBrowser.Prj.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VoltstroStudios.UnityWebBrowser.Prj", 3 | "rootNamespace": "VoltstroStudios.UnityWebBrowser.Prj", 4 | "references": [ 5 | "UnityImGui", 6 | "VoltstroStudios.UnityWebBrowser" 7 | ], 8 | "includePlatforms": [], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": true, 12 | "precompiledReferences": [ 13 | "VoltstroStudios.UnityWebBrowser.Shared.dll" 14 | ], 15 | "autoReferenced": true, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/Assets/Scripts/VoltstroStudios.UnityWebBrowser.Prj.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c191baa394a9ea2e2bc0e07f76235ef6 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_DefaultMaxDepenetrationVelocity: 10 11 | m_SleepThreshold: 0.005 12 | m_DefaultContactOffset: 0.01 13 | m_DefaultSolverIterations: 6 14 | m_DefaultSolverVelocityIterations: 1 15 | m_QueriesHitBackfaces: 0 16 | m_QueriesHitTriggers: 1 17 | m_EnableAdaptiveForce: 0 18 | m_ClothInterCollisionDistance: 0.1 19 | m_ClothInterCollisionStiffness: 0.2 20 | m_ContactsGeneration: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | m_AutoSimulation: 1 23 | m_AutoSyncTransforms: 0 24 | m_ReuseCollisionCallbacks: 1 25 | m_ClothInterCollisionSettingsToggle: 0 26 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 27 | m_ContactPairsMode: 0 28 | m_BroadphaseType: 0 29 | m_WorldBounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 250, y: 250, z: 250} 32 | m_WorldSubdivisions: 8 33 | m_FrictionType: 0 34 | m_EnableEnhancedDeterminism: 0 35 | m_EnableUnifiedHeightmaps: 1 36 | m_SolverType: 0 37 | m_DefaultMaxAngularSpeed: 50 38 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/UWB.unity 10 | guid: 2cda990e2423bbf4892e6590ba056729 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_SerializationMode: 2 8 | m_LineEndingsForNewScripts: 0 9 | m_DefaultBehaviorMode: 1 10 | m_PrefabRegularEnvironment: {fileID: 0} 11 | m_PrefabUIEnvironment: {fileID: 0} 12 | m_SpritePackerMode: 4 13 | m_SpritePackerPaddingPower: 1 14 | m_EtcTextureCompressorBehavior: 1 15 | m_EtcTextureFastCompressor: 1 16 | m_EtcTextureNormalCompressor: 2 17 | m_EtcTextureBestCompressor: 4 18 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 19 | m_ProjectGenerationRootNamespace: 20 | m_EnableTextureStreamingInEditMode: 1 21 | m_EnableTextureStreamingInPlayMode: 1 22 | m_AsyncShaderCompilation: 1 23 | m_CachingShaderPreprocessor: 1 24 | m_PrefabModeAllowAutoSave: 1 25 | m_EnterPlayModeOptionsEnabled: 0 26 | m_EnterPlayModeOptions: 3 27 | m_GameObjectNamingDigits: 1 28 | m_GameObjectNamingScheme: 0 29 | m_AssetNamingUsesSpace: 1 30 | m_UseLegacyProbeSampleCount: 0 31 | m_SerializeInlineMappingsOnOneLine: 1 32 | m_DisableCookiesInLightmapper: 1 33 | m_AssetPipelineMode: 1 34 | m_CacheServerMode: 0 35 | m_CacheServerEndpoint: 36 | m_CacheServerNamespacePrefix: default 37 | m_CacheServerEnableDownload: 1 38 | m_CacheServerEnableUpload: 1 39 | m_CacheServerEnableAuth: 0 40 | m_CacheServerEnableTls: 0 41 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 1 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 1 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | - m_Id: scoped:project:Voltstro UPM 30 | m_Name: Voltstro UPM 31 | m_Url: https://upm-pkgs.voltstro.dev 32 | m_Scopes: 33 | - dev.voltstro 34 | - org.nuget 35 | - com.cysharp.unitask 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_ConfigSource: 4 39 | m_UserSelectedRegistryName: Voltstro UPM 40 | m_UserAddingNewScopedRegistry: 0 41 | m_RegistryInfoDraft: 42 | m_Modified: 0 43 | m_ErrorMessage: 44 | m_UserModificationsInstanceId: -824 45 | m_OriginalInstanceId: -828 46 | m_LoadAssets: 0 47 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.45f1 2 | m_EditorVersionWithRevision: 2021.3.45f1 (0da89fac8e79) 3 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/UnityWebBrowser.UnityProject/ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Voltstro-Studios/UnityWebBrowser/6345b18ab86d2ce82345eec4e8b5ccbee0ec8467/src/UnityWebBrowser.UnityProject/ProjectSettings/boot.config -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Runtime.CompilerServices; 7 | 8 | [assembly: InternalsVisibleTo("UnityWebBrowser.Engine.Cef")] 9 | [assembly: InternalsVisibleTo("UnityWebBrowser.Engine.Cef.Shared")] -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/Color.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using VoltstroStudios.UnityWebBrowser.Engine.Shared.Core; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared; 10 | 11 | /// 12 | /// Container for a color 13 | /// 14 | public readonly struct Color 15 | { 16 | public byte R { get; } 17 | public byte G { get; } 18 | public byte B { get; } 19 | public byte A { get; } 20 | 21 | public Color(string hex) 22 | { 23 | if (hex.Length < 6) 24 | throw new ArgumentOutOfRangeException(nameof(hex)); 25 | 26 | R = MathHelper.HexToDec(hex.Substring(0, 2)); 27 | G = MathHelper.HexToDec(hex.Substring(2, 2)); 28 | B = MathHelper.HexToDec(hex.Substring(4, 2)); 29 | 30 | A = hex.Length >= 8 ? MathHelper.HexToDec(hex.Substring(6, 2)) : (byte) 255; 31 | } 32 | 33 | public override string ToString() 34 | { 35 | return $"({R}, {G}, {B}, {A})"; 36 | } 37 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/Communications/PipesCommunicationLayer.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license.See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.Communication; 7 | using VoltRpc.Communication.Pipes; 8 | using VoltstroStudios.UnityWebBrowser.Shared.Communications; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.Communications; 11 | 12 | internal class PipesCommunicationLayer : ICommunicationLayer 13 | { 14 | public Client CreateClient(string location) 15 | { 16 | return new PipesClient(location); 17 | } 18 | 19 | public Host CreateHost(string location) 20 | { 21 | return new PipesHost(location); 22 | } 23 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/Core/MathHelper.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.Core; 9 | 10 | /// 11 | /// Helper methods for math 12 | /// 13 | public static class MathHelper 14 | { 15 | /// 16 | /// Converts a hex to a 17 | /// 18 | /// 19 | /// 20 | public static byte HexToDec(string hex) 21 | { 22 | byte dec = Convert.ToByte(hex, 16); 23 | return dec; 24 | } 25 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/LICENSE.UWB.txt: -------------------------------------------------------------------------------- 1 | ================================================================================ 2 | UnityWebBrowser (UWB) 3 | https://github.com/Voltstro-Studios/UnityWebBrowser 4 | ================================================================================ 5 | 6 | MIT License 7 | 8 | Copyright (c) 2021-2024 Voltstro-Studios 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/Native/Linux/SysPrctl.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Runtime.InteropServices; 7 | using System.Runtime.Versioning; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.Native.Linux; 10 | 11 | [SupportedOSPlatform("Linux")] 12 | internal static class SysPrctl 13 | { 14 | /// 15 | /// Operations on a process or thread 16 | /// https://www.man7.org/linux/man-pages/man2/prctl.2.html 17 | /// 18 | /// 19 | /// 20 | /// 21 | [DllImport("libc")] 22 | public static extern int prctl(int option, ulong arg2); 23 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/Pages/PagesHandler.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.IO; 7 | using System.Reflection; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.Pages; 10 | 11 | /// 12 | /// Handler for our embedded resources of custom pages 13 | /// 14 | public static class PagesHandler 15 | { 16 | private static readonly Assembly EngineSharedAssembly = typeof(PagesHandler).Assembly; 17 | 18 | public static Stream GetAboutPageCode() 19 | { 20 | Stream stream = 21 | EngineSharedAssembly.GetManifestResourceStream("VoltstroStudios.UnityWebBrowser.Engine.Shared.Pages.About.html"); 22 | return stream; 23 | } 24 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/ReadWriters/EngineReadWritersManager.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 7 | using VoltRpc.Types; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.ReadWriters; 10 | 11 | public static class EngineReadWritersManager 12 | { 13 | public static void AddTypeReadWriters(TypeReaderWriterManager readerWriterManager) 14 | { 15 | ReadWriterUtils.AddBaseTypeReadWriters(readerWriterManager); 16 | readerWriterManager.AddType(new PixelsEventTypeReadWriter()); 17 | } 18 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/ReadWriters/PixelsEventTypeReadWriter.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | #nullable enable 7 | using System; 8 | using VoltstroStudios.UnityWebBrowser.Shared.Events; 9 | using VoltRpc.IO; 10 | using VoltRpc.Types; 11 | 12 | namespace VoltstroStudios.UnityWebBrowser.Engine.Shared.ReadWriters; 13 | 14 | public class PixelsEventTypeReadWriter : TypeReadWriter 15 | { 16 | public override void Write(BufferedWriter writer, PixelsEvent pixelsEvent) 17 | { 18 | if (pixelsEvent.PixelData.Length <= 0) 19 | { 20 | writer.WriteInt(-1); 21 | return; 22 | } 23 | 24 | writer.WriteInt(pixelsEvent.PixelData.Length); 25 | 26 | foreach (byte b in pixelsEvent.PixelData.Span) 27 | writer.WriteByte(b); 28 | } 29 | 30 | public override PixelsEvent Read(BufferedReader reader) 31 | { 32 | throw new NotImplementedException(); 33 | } 34 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Engine.Shared/VoltstroStudios.UnityWebBrowser.Engine.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net8.0 8 | false 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Pages/About.html 23 | 24 | 25 | 26 | 27 | 28 | PreserveNewest 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.Runtime.CompilerServices; 7 | 8 | [assembly: InternalsVisibleTo("UnityWebBrowser.Engine.Cef")] 9 | [assembly: InternalsVisibleTo("UnityWebBrowser.Engine.Cef.Shared")] 10 | 11 | [assembly: InternalsVisibleTo("VoltstroStudios.UnityWebBrowser")] 12 | [assembly: InternalsVisibleTo("VoltstroStudios.UnityWebBrowser.Engine.Shared")] 13 | [assembly: InternalsVisibleTo("VoltstroStudios.UnityWebBrowser.Tests")] -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Communications/ICommunicationLayer.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.Communication; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared.Communications; 9 | 10 | /// 11 | /// Layer for communications 12 | /// 13 | public interface ICommunicationLayer 14 | { 15 | /// 16 | /// Create a new 17 | /// 18 | /// 19 | /// 20 | public Client CreateClient(string location); 21 | 22 | /// 23 | /// Create a new 24 | /// 25 | /// 26 | /// 27 | public Host CreateHost(string location); 28 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Core/Platform.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Core; 7 | 8 | /// 9 | /// Platforms for UWB 10 | /// 11 | public enum Platform 12 | { 13 | /// 14 | /// Windows 64-bit 15 | /// 16 | Windows64, 17 | 18 | /// 19 | /// Linux 64-bit 20 | /// 21 | Linux64, 22 | 23 | /// 24 | /// MacOS 64-bit (Intel) 25 | /// 26 | MacOS, 27 | 28 | /// 29 | /// MacOS Arm64 30 | /// 31 | MacOSArm64, 32 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Events/KeyboardEvent.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Events; 7 | 8 | /// 9 | /// Event related to the keyboard 10 | /// 11 | public struct KeyboardEvent 12 | { 13 | /// 14 | /// The keys that were released this frame 15 | /// 16 | public WindowsKey[] KeysUp { get; set; } 17 | 18 | /// 19 | /// The keys that were pressed down this frame 20 | /// 21 | public WindowsKey[] KeysDown { get; set; } 22 | 23 | /// 24 | /// The characters that were pressed this frame 25 | /// 26 | public char[] Chars { get; set; } 27 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Events/MouseMoveEvent.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Events; 7 | 8 | /// 9 | /// Event related to when the mouse moves 10 | /// 11 | public struct MouseMoveEvent 12 | { 13 | /// 14 | /// The X position the moused moved to 15 | /// 16 | public int MouseX { get; set; } 17 | 18 | /// 19 | /// The Y position the mouse moved to 20 | /// 21 | public int MouseY { get; set; } 22 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Events/MouseScrollEvent.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Events; 7 | 8 | /// 9 | /// Event related to when the mouse scrolls 10 | /// 11 | public struct MouseScrollEvent 12 | { 13 | /// 14 | /// The X position the moused moved to 15 | /// 16 | public int MouseX { get; set; } 17 | 18 | /// 19 | /// The Y position the moused moved to 20 | /// 21 | public int MouseY { get; set; } 22 | 23 | /// 24 | /// How much did ths mouse move 25 | /// 26 | public int MouseScroll { get; set; } 27 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Events/PixelsEvent.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared.Events; 9 | 10 | /// 11 | /// We use a custom event for pixels to not use the byte[] array type reader/writer 12 | /// 13 | public struct PixelsEvent 14 | { 15 | /// 16 | /// The raw pixel data 17 | /// 18 | public ReadOnlyMemory PixelData { get; set; } 19 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/InitializationException.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared; 9 | 10 | /// 11 | /// An error when something failed while initializing or de-initializing 12 | /// 13 | public class InitializationException : Exception 14 | { 15 | /// 16 | /// Creates a new 17 | /// 18 | public InitializationException() 19 | { 20 | } 21 | 22 | /// 23 | /// Creates a new 24 | /// 25 | public InitializationException(string message) 26 | : base(message) 27 | { 28 | } 29 | 30 | /// 31 | /// Creates a new 32 | /// 33 | public InitializationException(string message, Exception inner) 34 | : base(message, inner) 35 | { 36 | } 37 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Js/ExecuteJsMethod.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Js; 7 | 8 | /// 9 | /// Main details on a method that JS wants to execute 10 | /// 11 | internal struct ExecuteJsMethod 12 | { 13 | public ExecuteJsMethod(string methodName, JsValue[] arguments) 14 | { 15 | MethodName = methodName; 16 | Arguments = arguments; 17 | } 18 | 19 | /// 20 | /// The name of the method 21 | /// 22 | public string MethodName { get; set; } 23 | 24 | /// 25 | /// All arguments of the method 26 | /// 27 | public JsValue[] Arguments { get; set; } 28 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Js/JsObjectHolder.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Js; 7 | 8 | /// 9 | /// Holds to be able to build out a type 10 | /// 11 | internal class JsObjectHolder 12 | { 13 | public JsObjectHolder(JsObjectKeyValue[] keys) 14 | { 15 | Keys = keys; 16 | } 17 | 18 | /// 19 | /// All the keys and values a JS object has 20 | /// 21 | public JsObjectKeyValue[] Keys { get; set; } 22 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Js/JsObjectKeyValue.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Js; 7 | 8 | /// 9 | /// Contains info of an object's key 10 | /// 11 | internal class JsObjectKeyValue 12 | { 13 | public JsObjectKeyValue(string key, JsValue value) 14 | { 15 | Key = key; 16 | Value = value; 17 | } 18 | 19 | /// 20 | /// Key 21 | /// 22 | public string Key { get; set; } 23 | 24 | /// 25 | /// Value of the key 26 | /// 27 | public JsValue Value { get; set; } 28 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Js/JsValue.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Js; 7 | 8 | /// 9 | /// A value from JS 10 | /// 11 | internal class JsValue 12 | { 13 | public JsValue(JsValueType type, object value) 14 | { 15 | Type = type; 16 | Value = value; 17 | } 18 | 19 | /// 20 | /// What this value is 21 | /// 22 | public JsValueType Type { get; set; } 23 | 24 | /// 25 | /// Raw object value 26 | /// See to know what this object is 27 | /// 28 | public object Value { get; set; } 29 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Js/JsValueType.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2024 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared.Js; 9 | 10 | /// 11 | /// What data type a JS value is 12 | /// 13 | internal enum JsValueType : byte 14 | { 15 | /// 16 | /// Null/Undefined 17 | /// 18 | Null, 19 | 20 | /// 21 | /// 22 | /// 23 | Bool, 24 | 25 | /// 26 | /// 27 | /// 28 | Int, 29 | 30 | /// 31 | /// 32 | /// 33 | UInt, 34 | 35 | /// 36 | /// 37 | /// 38 | Double, 39 | 40 | /// 41 | /// 42 | /// 43 | Date, 44 | 45 | /// 46 | /// 47 | /// 48 | String, 49 | 50 | /// 51 | /// 52 | /// will be of type 53 | /// 54 | Object 55 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/LogSeverity.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared; 7 | 8 | /// 9 | /// The log severity of the browser engine 10 | /// 11 | public enum LogSeverity 12 | { 13 | /// 14 | /// Debug logging 15 | /// 16 | Debug, 17 | 18 | /// 19 | /// Info logging 20 | /// 21 | Info, 22 | 23 | /// 24 | /// Warn logging 25 | /// 26 | Warn, 27 | 28 | /// 29 | /// Error logging 30 | /// 31 | Error, 32 | 33 | /// 34 | /// Fatal logging 35 | /// 36 | Fatal 37 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Popups/EnginePopupInfo.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared.Popups; 9 | 10 | /// 11 | /// Base controls for a popup 12 | /// 13 | public abstract class EnginePopupInfo : IDisposable 14 | { 15 | /// 16 | /// Creates a new 17 | /// 18 | protected EnginePopupInfo() 19 | { 20 | PopupGuid = Guid.NewGuid(); 21 | } 22 | 23 | /// 24 | /// Creates a new 25 | /// 26 | internal EnginePopupInfo(Guid guid) 27 | { 28 | PopupGuid = guid; 29 | } 30 | 31 | /// 32 | /// Unique related to this popup 33 | /// 34 | public readonly Guid PopupGuid; 35 | 36 | /// 37 | /// Execute JS in this popup 38 | /// 39 | /// 40 | public abstract void ExecuteJs(string js); 41 | 42 | /// 43 | public virtual void Dispose() 44 | { 45 | } 46 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Popups/IPopupClientControls.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using VoltRpc.Proxy; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Shared.Popups; 10 | 11 | /// 12 | /// Interface for popup controls from a client 13 | /// 14 | [GenerateProxy(GeneratedName = "PopupClientControls", GeneratedNamespace = "VoltstroStudios.UnityWebBrowser.Shared.Popups")] 15 | internal interface IPopupClientControls 16 | { 17 | /// 18 | /// Closes a popup 19 | /// 20 | /// 21 | public void PopupClose(Guid guid); 22 | 23 | /// 24 | /// Executes js 25 | /// 26 | /// 27 | /// 28 | public void PopupExecuteJs(Guid guid, string js); 29 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Popups/IPopupEngineControls.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | using VoltRpc.Proxy; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Shared.Popups; 10 | 11 | /// 12 | /// Interface for controls of popup from the engine's POV 13 | /// 14 | [GenerateProxy(GeneratedName = "PopupEngineControls", GeneratedNamespace = "VoltstroStudios.UnityWebBrowser.Shared.Popups")] 15 | internal interface IPopupEngineControls 16 | { 17 | /// 18 | /// Called when a popup is created 19 | /// 20 | public void OnPopup(Guid guid); 21 | 22 | /// 23 | /// Called when a popup is destroyed 24 | /// 25 | /// 26 | public void OnPopupDestroy(Guid guid); 27 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/Popups/PopupAction.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | namespace VoltstroStudios.UnityWebBrowser.Shared.Popups; 7 | 8 | /// 9 | /// What to do on a popup 10 | /// 11 | public enum PopupAction : byte 12 | { 13 | /// 14 | /// Ignore it 15 | /// 16 | Ignore, 17 | 18 | /// 19 | /// Open an external window for it 20 | /// 21 | OpenExternalWindow, 22 | 23 | /// 24 | /// Redirect the current window to it 25 | /// 26 | Redirect 27 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ProxySettings.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared; 9 | 10 | /// 11 | /// Settings for the proxy 12 | /// 13 | [Serializable] 14 | public struct ProxySettings 15 | { 16 | /// 17 | /// The username to use for auth with the proxy 18 | /// 19 | public string Username; 20 | 21 | /// 22 | /// The password to use for auth with the proxy 23 | /// 24 | public string Password; 25 | 26 | /// 27 | /// Enable or disable the proxy server 28 | /// 29 | public bool ProxyServer; 30 | 31 | public ProxySettings(string username, string password, bool proxyServer) 32 | { 33 | Username = username; 34 | Password = password; 35 | ProxyServer = proxyServer; 36 | } 37 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ReadWriters/MouseClickEventTypeReadWriter.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.IO; 7 | using VoltRpc.Types; 8 | using VoltstroStudios.UnityWebBrowser.Shared.Events; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 11 | 12 | internal sealed class MouseClickEventTypeReadWriter : TypeReadWriter 13 | { 14 | public override void Write(BufferedWriter writer, MouseClickEvent mouseClickEvent) 15 | { 16 | writer.WriteInt(mouseClickEvent.MouseX); 17 | writer.WriteInt(mouseClickEvent.MouseY); 18 | writer.WriteInt(mouseClickEvent.MouseClickCount); 19 | writer.WriteByte((byte) mouseClickEvent.MouseClickType); 20 | writer.WriteByte((byte) mouseClickEvent.MouseEventType); 21 | } 22 | 23 | public override MouseClickEvent Read(BufferedReader reader) 24 | { 25 | return new MouseClickEvent 26 | { 27 | MouseX = reader.ReadInt(), 28 | MouseY = reader.ReadInt(), 29 | MouseClickCount = reader.ReadInt(), 30 | MouseClickType = (MouseClickType) reader.ReadByte(), 31 | MouseEventType = (MouseEventType) reader.ReadByte() 32 | }; 33 | } 34 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ReadWriters/MouseMoveEventTypeReadWriter.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.IO; 7 | using VoltRpc.Types; 8 | using VoltstroStudios.UnityWebBrowser.Shared.Events; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 11 | 12 | internal sealed class MouseMoveEventTypeReadWriter : TypeReadWriter 13 | { 14 | public override void Write(BufferedWriter writer, MouseMoveEvent mouseMove) 15 | { 16 | writer.WriteInt(mouseMove.MouseX); 17 | writer.WriteInt(mouseMove.MouseY); 18 | } 19 | 20 | public override MouseMoveEvent Read(BufferedReader reader) 21 | { 22 | return new MouseMoveEvent 23 | { 24 | MouseX = reader.ReadInt(), 25 | MouseY = reader.ReadInt() 26 | }; 27 | } 28 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ReadWriters/MouseScrollEventTypeReadWriter.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.IO; 7 | using VoltRpc.Types; 8 | using VoltstroStudios.UnityWebBrowser.Shared.Events; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 11 | 12 | internal sealed class MouseScrollEventTypeReadWriter : TypeReadWriter 13 | { 14 | public override void Write(BufferedWriter writer, MouseScrollEvent obj) 15 | { 16 | MouseScrollEvent mouseScroll = obj; 17 | writer.WriteInt(mouseScroll.MouseX); 18 | writer.WriteInt(mouseScroll.MouseY); 19 | writer.WriteInt(mouseScroll.MouseScroll); 20 | } 21 | 22 | public override MouseScrollEvent Read(BufferedReader reader) 23 | { 24 | return new MouseScrollEvent 25 | { 26 | MouseX = reader.ReadInt(), 27 | MouseY = reader.ReadInt(), 28 | MouseScroll = reader.ReadInt() 29 | }; 30 | } 31 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ReadWriters/ReadWriterUtils.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.Types; 7 | 8 | namespace VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 9 | 10 | internal static class ReadWriterUtils 11 | { 12 | public static void AddBaseTypeReadWriters(TypeReaderWriterManager readerWriterManager) 13 | { 14 | readerWriterManager.AddType(new KeyboardEventTypeReadWriter()); 15 | readerWriterManager.AddType(new MouseClickEventTypeReadWriter()); 16 | readerWriterManager.AddType(new MouseMoveEventTypeReadWriter()); 17 | readerWriterManager.AddType(new MouseScrollEventTypeReadWriter()); 18 | readerWriterManager.AddType(new ResolutionTypeReadWriter()); 19 | readerWriterManager.AddType(new ExecuteJsMethodTypeReadWriter()); 20 | } 21 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/ReadWriters/ResolutionTypeReadWriter.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using VoltRpc.IO; 7 | using VoltRpc.Types; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Shared.ReadWriters; 10 | 11 | internal class ResolutionTypeReadWriter : TypeReadWriter 12 | { 13 | public override void Write(BufferedWriter writer, Resolution resolution) 14 | { 15 | writer.WriteUInt(resolution.Width); 16 | writer.WriteUInt(resolution.Height); 17 | } 18 | 19 | public override Resolution Read(BufferedReader reader) 20 | { 21 | return new Resolution(reader.ReadUInt(), reader.ReadUInt()); 22 | } 23 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Shared/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Tests/MathTests.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using NUnit.Framework; 7 | using VoltstroStudios.UnityWebBrowser.Engine.Shared.Core; 8 | 9 | namespace VoltstroStudios.UnityWebBrowser.Tests; 10 | 11 | public class MathTests 12 | { 13 | [Test] 14 | public void HexByteTest() 15 | { 16 | byte result = MathHelper.HexToDec("FF"); 17 | Assert.That(result, Is.EqualTo(255)); 18 | } 19 | 20 | [Test] 21 | public void HexByte15Test() 22 | { 23 | byte result = MathHelper.HexToDec("0F"); 24 | Assert.That(result, Is.EqualTo(15)); 25 | } 26 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Tests/PagesHandlerTests.cs: -------------------------------------------------------------------------------- 1 | // UnityWebBrowser (UWB) 2 | // Copyright (c) 2021-2022 Voltstro-Studios 3 | // 4 | // This project is under the MIT license. See the LICENSE.md file for more details. 5 | 6 | using System.IO; 7 | using NUnit.Framework; 8 | using VoltstroStudios.UnityWebBrowser.Engine.Shared.Pages; 9 | 10 | namespace VoltstroStudios.UnityWebBrowser.Tests; 11 | 12 | public class PagesHandlerTests 13 | { 14 | [Test] 15 | public void GetAboutPageTest() 16 | { 17 | Stream stream = PagesHandler.GetAboutPageCode(); 18 | Assert.That(stream, Is.Not.Null); 19 | } 20 | } -------------------------------------------------------------------------------- /src/VoltstroStudios.UnityWebBrowser.Tests/VoltstroStudios.UnityWebBrowser.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net8.0 5 | enable 6 | 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | all 16 | runtime; build; native; contentfiles; analyzers; buildtransitive 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "2.2.6", 4 | "publicReleaseRefSpec": [ 5 | "^refs/heads/release$" 6 | ], 7 | "cloudBuild": { 8 | "buildNumber": { 9 | "enabled": true 10 | } 11 | } 12 | } --------------------------------------------------------------------------------