All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
NOTE: Next release is planned to be 3.x breaking change release. The main reason is to drop deprecated code and to up minimal supported Unity version to Unity 6.x.
- Add configurable WindowlessFrameRate setting (#428)
- Update CEF to 143.0.13
- Bump deps
- Use custom FixUpdate loop that uses Time.unscaledDeltaTime (#422)
- Upgrade engine to .NET 10
- Fixed browser not rendering on resize using a workaround for a CEF issue (#425)
- Update CEF to 137.0.19
- Bump deps
- Fix not all code paths return a value (#400)
- Fix some key events not working (#412)
- Added no sandbox flag (#369)
- Added headless mode (#370)
- Update CEF to 133.4.2
- Bump copyright year
- Fixed Unity 6 showing engine packages as "pre-release" (#387)
- Engine packages are now version as
x.x.x, instead ofx.x.x-<cef-major>.<cef-minor>.<cef-patch>
- Engine packages are now version as
- Fixed non-json logs causing errors by adding
ignoreLogProcessJsonErrorsoption (#395)
- Update CEF to 130.1.16
- Bump deps
- Add missing
System.Runtime.InteropServicesforRuntimeInformationandArchitectureinWebBrowserUtils(#366)
- Fix Windows job handle names being the same (#358)
- Added
AudioMute
- Update CEF to 130.1.2
- Bump deps
- Change ready signal to fire when cef calls OnAfterCreated
- Added ignore SSL errors option (#350)
- Move some web browser client options to a new section called "Advanced"
- Fixed
LoadHtmlnot working correctly (#351)
- Removed CEF engine custom error page. It shows the default chrome one now.
- Added Incognito mode
- Updated CEF to 129.0.11
- CachePath can only be set before HasInitialized
- LogPath can only be set before HasInitialized
- Change some path building to use
Path.Combineinstead
- Cache control is no longer used. A cache path will always be used now. To use a incognito/private mode, where no profile-specific data is persisted to disk, set incognito mode to true.
- Do not pass proxy settings if ProxyServer is false
- Fix missing icudtl.dat on Linux cef (#346)
- Added MacOS support (x64, arm64)
- Added CEF engine sandboxing (Windows, MacOS)
- Added remote debugging allowed origins
- Added CEF Event flags support (allows dragging)
- Added
UWB_DISABLE_POSTPROCESSORdefine to UWB's postprocessor
- Bump deps
- Updated CEF to 128.4.9
- CEF engine gets compiled using .NET Native AOT
- Updated logging tags
- Communication layers are loaded by name instead of assemblies
- Update pipes package to use VoltRpc.Communication.Pipes package, instead of embedding
- Mouse click events will always send
clickCountwith at least a value of 1 - Changed control of engine pathing from being fixed (hardcoded) to being controlled by the
Enginescriptable object - Improve copying in engine build post-processor
- Change TCP timeouts to max allowed (#300)
- (Dev) Build all projects in CI
- (Dev) Change builds scripts to Python
- Unix Support Package (
dev.voltstro.unitywebbrowser.unix-support) - Packages should include the right execute permission from the get-go CommunicationLayer.connectionTimeout- Timeouts are now set to maxEngine.engineFileLocation- Replaced withEngine.engineEditorLocationEngine.EngineFilesNotFoundError- No longer neededEngineManager.GetEngineDirectory- Fetching of engine paths is now handled by the engine classEngineManager.GetEngineDirectory- Fetching of engine paths is now handled by the engine classEngineManager.GetEngineProcessFullPath- Fetching of engine paths is now handled by the engine classEngineManager.GetEngineProcessFullPath- Fetching of engine paths is now handled by the engine classWebBrowserUtils.GetBrowserEnginePath- Fetching of engine paths is now handled by the engine classWebBrowserUtils.GetBrowserEngineProcessPath- Fetching of engine paths is now handled by the engine class
- Fixed select popups not working (#314)
- Fixed keyboard events not firing (#335)
- Added Dynamic Runtime Sample
- Bump deps
- Updated CEF to 122.1.13
- Updated basic sample description
- Implemented a handful of fixes to attempt to resolve issue #166
- Prevent engine process lingering when main parent process dies
- Uses Job Objects on Windows
- Uses prctl on Linux
- Errors related to binding ports are no longer swallowed
- Prevent engine process lingering when main parent process dies
- Added support for allowing Unity to still build your project on unsupported UWB platforms
- This doesn't mean that UWB will run on them!
- Added set/get zoom level
- Added open dev tools
- Added 'JS Methods'. A way of invoking .NET methods from JS.
- Added
OnClientInitializedevent - Added
OnClientConnectedevent
- Bump deps
- Updated CEF to 121.3.13
- Upgrade Engine to .NET 8
- CEF Engine buffer improvements
- Fix Unity 2023 TMP Problems
- Added initial IME support
- Updated deps
- Updated CEF to 113.3.1
- Updated copyright year
- Updated embedded pages project
- Updated
package.json(s) - Updated CEF to 106.1.1
- Fixed issue with stripped builds
- Fixed some keyboard stuff (on new input system)
- Fixed null reference error related to when engine fails to launch, but UWB has already been destroyed
- Added UNIX Support package
- Added Popup Handling
- Added disableAllControls, disableMouse and disableKeyboard
- Added project site (https://projects.voltstro.dev/UnityWebBrowser/)
- Updated CEF to 106.1.0
- Updated VoltRpc
- Use UniTask
- All base UWB components (other then custom input ones) are now built using
BaseUwbClientManager - Updated packages
- Base packages includes URLs for changelog and docs
- Improved disposing
- Improved performance massively
- Improved copying of files to output
- Improved readying
- Improved engine logging
- Improved copying of engine files at build
- Better IsReady & IsConnected checks
- Changed namespace to have
VoltstroStudios.at the start - Changed Engine config stuff
- Changed input handling
- Inputs are handled by a scriptable object
- Changed events to be structs
- Changed the way the background colour was set
(Not every change in this version is listed here, there are so many)
- Updated CEF to 95.7.18
- Updated VoltRpc to 1.2.0
- CEF engine uses .NET 6
- Should improve performance
- App doesn't self-extract on first start anymore
- Updated to use some newer APIs
- Updated shutting down stuff
- Updated CEF to 95.7.10
- Use VoltRpc from UnityNuGet
- Events are executed as a task
- Improved Startup & Shutdown
- Texture is created at start of init with its colours set to background color.
- Engine processes location in build was changed from the plugins folder to a dedicated
UWB/folder - Default cache folder was changed to
UWBCache - Updated XML docs
- Potential fix for URLs not loading sometimes
- Support for multiple browser engines
- Progress bar when copying browser engine files
- Framework for support of multiple browser engines
- Added events for OnUrlChange, OnLoadStart, etc
- Added some Profile Markers
- Added support for IPC to use Pipes instead of TCP.
- NOTE:
System.IO.Pipeshas a bad implementation in Unity's custom mono. Some platforms and configurations can result in named pipes to not work.
- NOTE:
- Updated CEF to 93.1.11
- CefBrowserProcess was renamed to UnityWebBrowser.Engine.Cef
- Underlying IPC communication layer was replaced with VoltRpc
- This improves the performance of UWB
- Huge massive internal changes
- Most names of 'Cef Browser' were changed to
UWBorUnityWebBrowser WidthandHeightproperties were merged into a customUnityWebBrowser.Shared.Resolutionstruct- Settings related to IPC was merged into a
UnityWebBrowser.WebBrowserIpcSettingsclass
- Linux version of the CEF browser engine doesn't require
cefsimpleanymore - Linux version of the CEF browser will now used trimmed binaries (From 1.1GB to 160MB)
- Texture in WebBrowserClient will no longer be linear.
- Moved events to new UnityWebBrowser.Shared assembly.
- Added MessagePack serialization helper functions for IEventData to UnityWebBrowser.Shared
- Use auto-generated, IL2CPP compatible resolvers for IEventData.
- Updated package dependencies
- See updated README to see what you also need to install now.
- Fixed compile error when using new input system.
- Move to MessagePack for faster serialization.
- Renamed browser control methods in
WebBrowserClient.csand made them public.
- Newtonsoft.Json serialization.
- Added CHANGELOG.md