Home › Forums › Official Announcements › Verge3D 4.12 pre2 available!
- This topic has 2 replies, 1 voice, and was last updated 2 hours, 7 minutes ago by
Yuri Kovelenov.
-
AuthorPosts
-
2026-02-26 at 8:39 am #86375
Yuri KovelenovStaffHere is the second preview of upcoming Verge3D 4.12. For this update we prepared:
☞ possibility to install Verge3D to specific versions of Blender, 3ds Max or Maya
☞ Puzzles Editor can now work with custom projects
☞ proxy support in the App Manager
☞ better user feedback for deleting from Verge3D Network
☞ puzzle for loading JavaScript libraries
☞ puzzle to simplify creating dictionaries
☞ puzzle to convert data to text
☞ puzzle to query multiple HTML elements
☞ possibility to work with HTML datasets
☞ reworked GPU performance checker
☞ some integration features for Blender and Maya
☞ optimized file size of exported glTF files
☞ and many more!Check it out:
2026-02-26 at 8:39 am #86376
Yuri KovelenovStaffVersions and Compatibility
First goes probably the most important feature of this update. We noticed that many users, that have been working with Verge3D for long time, sometimes do experience issues with maintaining their old projects. This observation motivated us to implement the possibility to install Verge3D to specific versions of Blender, 3ds Max or Maya, which can now be selected in the installer.


As a result, you can now have an older 3D tool with a compatible Verge3D version installed in it, and it won’t interfere with any fresh installs. You can also use command-line scripts to do the same – see this system administrator’s guide.
Thanks for all the feedback provided on the forums (e.g. here and here).
App Manager
Here is another important usability improvement. Quite often developers of complex projects (e.g. based on React, Vue, or Firebase) must move the Puzzles’ scenario file
visual_logic.js(generated fromvisual_logic.xml) into some subfolder. This would break the normal operation of the App Manager and the Puzzles Editor, but not anymore. From now on, the App Manager will recursively search for puzzles and automatically assign proper paths in the Puzzles Editor.Next, some Verge3D users have to work in a constrained corporate/regional network which may restrict the access to certain Internet resources. If this affects your interactions with the Verge3D infrastructure, you can fix it by specifying HTTP proxy settings in the App Manager. This would allow you to browse and upload to Verge3D Network, use the Asset Store, and download the Electron.js builds for creating desktop apps. Both anonymous and authenticated proxies are supported. Thanks for bringing this up on the forums (e.g. here and here).

Finally, since deleting from Verge3D Network may be somewhat prolonged, a preloader and a more descriptive finished dialog will accompany such operations.

New Puzzles
With this update we introduce a few new puzzles for advanced use.
A new puzzle for using in the Init tab only – load library – works as it sounds. It loads code without the need to link it in the main
.htmlfile, which can be vanilla JavaScript, CommonJS, or ES6 module. After loading, the namespaced APIs can be accessed viapuzzles.loadedLibraries(this is an array of import Promises).
Another new puzzle, create dict, does the same thing as the already existing create dict with keys, but in a speedier and more compact fashion. Nonetheless, the old puzzle is still useful because it can work with variable keys and with multi-line text.

Finally, the new puzzle stringify json converts any data structure used in Puzzles to a text line. It will be useful for saving something to a element’s data attribute or to the local storage, sending over network, updating a remote database, using as page param, etc.

Note that we renamed the puzzle read json from, that does the reverse operation, to parse json for consistency.
Updated Puzzles
The puzzle query selector obtained a new option, query all elements. It allows you to change the properties or assign event listeners to multiple HTML elements in bulk instead of making it one by one. Thanks for bringing this up on the forums (e.g. here and here).

We added the optional finally slot to the wait promise puzzle, which helps to using asynchronous APIs of third-party libraries.

The HTML puzzle get property now offers the dataset option. With it, you can use data attributes to store information directly in HTML elements, without extra variables, lists, or dictionaries.

For example, if you create a configurator with a swatch of textures, you can save the path to the texture file directly to the corresponding clickable HTML element, and get it right away when the user clicks it.
The very same get property puzzle obtained another new option, children, which you can use to get the list of parented HTML elements. It returns an iterable list of ids, so naturally the result includes only elements with an id.

The puzzle set URL params now works properly when passing special characters as param values thanks to URL encoding applied.
We rewritten the puzzle check performance from scratch. It no longer uses the old, thick and poorly maintained benchmark data (which added extra 330 kb to the engine by the way). Instead, it performs various heuristic evaluations of GPU and browser information to predict the performance of the user system. As a result, it became faster and more accurate – for example, it better handles the latest Intel’s integrated GPUs, older iPhones, Google Pixel devices, popular Samsung A-series phones, and the flagship Oppo/Xiaomi/Realme/Redmi/Vivo phones.

You can run this performance checker on your device using our WebGL System Report page . Feel free to report any inconsistencies, i.e. if you believe you got a graphics-friendly device but it says it’s bad, or vice versa.
Blender-specific features
We supported Round mode for the Vector Math node introduced in Blender 5.1.

Node Geometry’s output Random Per Island is employed in Cycles to randomize objects cloned by the Array modifier. We decided to reuse it to randomize GPU-instanced objects, making it possible to adjust colors or other params for every instance.

For example, here is the screenshot of a million randomly colored cubes rendered at 60 FPS.

3ds Max and Maya-specific features
The Clone Object demo introduced with the previous update was recreated with 3ds Max and Maya.
When uninstalling Verge3D, the paths to Verge3D plugin are correctly cleaned up in Maya settings. We also simplified the installation procedure for Linux.
More features
We managed to significantly reduce the size of the exported glTF files simply by skipping the default object parameters. Instead, such the params are set to their respective default values in runtime. This reduced the file size manyfold for scenes with many objects – imagine thousands of empties used to setup instancing, for example.
Usage hints are now printed when running the keymanager command without parameters. This script is used to activate the Dev Kit and npm-based versions of Verge3D.
An npm-based Verge3D application would now print “npm” instead of “Ultimate” in the browser console.
Hemispheric lighting examples from Three.js now work with Verge3D using Ambient lighting as backend.
Windows’ service Add or Remove Programs (renamed to Installed Apps in Windows 11) now displays the Verge3D icon.

We dropped the outdated and barely working React and Vue examples from the Asset Store. Instead, we suggest using the reworked and simplified templates found in the corresponding (updated) docs.
Fixed bugs
We fixed the old issue with the preloader progress exceeding 100% when loading assets from servers with enabled compression.
-
This reply was modified 48 minutes ago by
Yuri Kovelenov.
-
This reply was modified 48 minutes ago by
Yuri Kovelenov.
2026-02-26 at 8:39 am #86377
Yuri KovelenovStaff -
This reply was modified 48 minutes ago by
-
AuthorPosts
- You must be logged in to reply to this topic.
