The Visual Engine
Documentation | Join Discord | Contact
Welcome! All asset-related discussions are moving to Discord. Join us for more information, updates, if you experience any issues, or if you just want to say hi!
Please check the description, limitations, disclaimers before buying the asset!
○ Unity Awards
Publisher Of The Year 2023 - 4th Place
Best Development Tool 2020 - 2nd Place
Best Development Tool 2018 - 3rd Place
○ About the upgrade
The Vegetation Engine was released 5 years ago and it got over 80 free major updates over the years. Due to the older design, once the asset and the modules started to grow, they were harder to maintain and to add new features. The Visual Engine is a new product, completely re-designed to be more extensible, more powerful, easier to use, and it comes with dozens of new features! Check out the comparison highlights and more details here!
○ The Visual Engine
The Visual Engine is a set of next-level shaders and powerful tools designed to unify any asset from the Unity Asset Store, Megascans, Speedtree, Tree Creator, and more, or custom models made by your team.
Enable high-quality wind motion, interaction, local wind control, seasons, wetness, dynamic rain, advanced snow, subsurface scattering, layers for scans and moss, top projection, detail blending, gradient and variation tint, vertex occlusion, perspective correction, camera distance fade, glancing angle fade, crossfade, size fade, and more, for all vegetation assets and props with Standard, Universal, or HD Render Pipeline!
○ Advanced Systems
The Visual Engine comes with a one-click conversion workflow for 3rd party assets. Once converted, the assets are fully compatible with all features provided by the asset and will work in all render pipelines! The converter uses text-based presets with an easy-to-use but comprehensive API. One click, everything unified!
The Visual Engine comes with a comprehensive set of modular elements, used for motion and interaction with unlimited characters, local wind, dynamic seasons, global overlay (snow, sand, dust), wetness, tinting, size control, and leaves amount with minimal performance impact! The elements work with layers, so you can customize how each material is affected globally by each element used in the scene.
The Visual Engine includes an advanced Material Manager tool to set the settings for multiple materials or prefabs at once or save and apply presets. Use the Shader Manager to add support to the most popular instanced indirect renderer and use the Scene Debugger to check any aspect regarding rendering or shader settings!
○ Community
With constant updates and improvements, all BOXOPHOBIC assets are trusted by tens of thousands of game developers. Feel free to join our Discord server or get in touch via email if you need any help or if you want to discuss more advanced topics about the assets.
○ Compatibility
The Visual Engine supports the following render pipelines:
✓ Standard Render Pipeline 2022.3+
✓ Universal Render Pipeline 2022.3+ / 6.0+ / 6.3+
✓ HD Render Pipeline 2022.3+ / 6.0+ / 6.3+
The Visual Engine supports the following modules:
✓ The Visual Engine • Amplify Impostors Module
✓ The Visual Engine • Terrain Shaders Module
✓ The Visual Engine • Terrain Blanket Module
✓ The Visual Engine • Terrain Elements Module
The Visual Engine supports the following 3rd party tools:
✓ Amplify Shader Editor - Full shader editing support
✓ Foliage Renderer - Procedural Instancing support
✓ Nature Renderer - Procedural Instancing support
✓ GPU Instancer - Instanced Indirect support
✓ Flora 2.0 - Procedural Instancing support
✓ Vegetation Studio Pro - Instanced Indirect support
✓ Mega World Quadro Renderer - Procedural Instancing support
✓ Vladislav Tsurikov Instant Renderer - Procedural Instancing support
✓ DE Environment - Conversion for DE Environment
✓ Magio - Interactive Effect Engine support (by Arctibyte OAVA)
✓ Ignis - Interactive Fire System support (by Arctibyte OAVA)
✓ Game Creator - Actions for TVE control (by RVR)
✓ Enviro - Enviro to TVE control (by CatGamesStudio)
The Visual Engine supports vegetation created with the following tools:
✓ Speedtree - Profesional vegetation creation tool
✓ Broccoli Tree Creator - Powerful tree creation tool for the Unity
✓ Unity Tree Creator - Built-in Unity tree creation tool
✓ CTI - Advanced vegetation importer tool
✓ TreeIt - Free vegetation creation tool
✓ MTree (procedural setup) - Powerful tree creation tool for the Unity
The Visual Engine supports the following 3rd party vegetation assets:
✓ Any Asset - User setup or Automatic setup
✓ Quixel Megascans - All vegetation assets
✓ Synty Studios - Biomes Nature Packs
✓ Nature Manufacture - All vegetation assets
* Please note, with the Visual Engine's complete redesign, the old presets for supported assets are not yet updated! More presets are added in steps!
○ Limitations
🞫 TVE is not a placement tool, it is a vegetation unification/detailing tool
🞫 TVE is designed to work with instancing, static batching support is limited
🞫 The shaders are not designed for mobile development!
🞫 Scalable Ambient Obscurance is not supported in Forward Rendering
🞫 Billboard Renderers from Speedtree7, Tree Creators, and CTI are not supported. Speedtree7 billboard faces are not supported!
🞫 Billboard shaders for VSP and GPUI will not work with the TVE features!
🞫 HDRP ray tracing and path tracing are not fully supported!
🞫 Only the latest LTS Unity versions are officially supported!
○ Disclaimers
⚑ The Visual Engine will not do a 1:1 conversion for the assets. Even if in most cases the converted prefabs will look similar to the original asset, depending on the original shaders, lighting can change, colors can change, various features could not work anymore and the wind animation will definitely be different. After conversion, material tweaks will be required!
⚑ This is not a vegetation placement tool, but it can be used together with your favorite tools supporting instanced indirect such as Vegetation Studio, Nature Renderer, GPU Instancer, Mega World, or other placement tools like Microverse, Gaia, Map Magic, Terra World, etc...
⚑ With the release of the Visual Engine, the Vegetation Engine will not be updated anymore, but it will get critical fixes for a limited time. If you purchased any of the modules and you need older versions compatible with the Vegetation Engine, feel free to contact me!
Release Notes
○ Upgrading
⚑ Using version control or backing up the project is always recommended before updating to a new version. Always delete the Visual Engine and Modules folders before importing the new versions. Check the changes to see how they can impact your project!
○ Requirements
- Standard Render Pipeline: Unity 2022.3.0+
- Universal Render Pipeline: Unity 2022.3.18+ / Unity 6000.0.23+ / Unity 6000.3.06+
- HD Render Pipeline: Unity 2022.3.18+ / Unity 6000.0.23+ / Unity 6000.3.06+
- Amplify Shader Editor: 1.9.9.8 (for custom shader compilation only)
○ Version 21.5.0
Important
- Please delete the previous TVE and Module folder to avoid conflicts. Various files are renamed! All material properties will upgrade when using the Material Upgrader, Material Manager, or by selecting and expanding the material inspector!
Changes
- Removed Blend Colors option (used for doubling the color value per color space) from all tinting effects because the same can now be achieved by doubling the color value. All colors are upgraded automatically, no user action is required!
- Since Shader Mask textures are not holding color data, the converter is now saving them as linear textures (sRGB off). The packer is correctly gettings the mask data regardless if the original mask is linear or not so there will be no visual differences between the original masks and the tve packed mask. No user action is required, the new behaviour is only applied to new conversions!
- Decoupled the Amplify Templates from the core, and they are now available as a free package on the store! Amplify 1.9.9.8 is now required for custom shader compilation. Using an older version might break the shaders!
Features
- Added in context info for all shader features (hover over categories)
- Improved script update handling with terrain, element, and blanket components
- Improved impostor preset usage. Now there are only 2 presets, TVE Octahedron and TVE Spherical, and the lighting is changed automatically based on the prefab shaders. To speed up the impostor baking process, you can add the TVE Octahedron preset as default preset in Preferences > Amplify Impostors
- Optimized triplanar/stochstic triplanar sampling
- Added more shader customization in Amplify Shader Editor
- Added more Scene Debugger options for vertex and visual debugging
- Added Object Bounds > From Renderer option to get the mesh bounds automatically in URP/HDRP when using procedural height and capuse masks for motion
- Added support for easier terrain to grass blending when using seasons. The new element for blending is called Paint Map (Seasons).
- Added support to automatically fetch the terrain base color and use it for Paint Map elements if the TVE terrain shader is used
- Added support to mask the Dithering effect based on vertex colors. Useful to fade out the grass base to simulate terrain blending
- Added option to Copy-Paste selected material properties (filtered by searching)
- Added support to only support one layer for terrain and blanket to terrain blending
- Added an Export Selected utility for easier bug reporting. Use it by right clicking on any asset > Export Selected Objects. It exports all selected objects from the scene or project, with associated files, including the active scene. It gathers prefabs, meshes, materials, textures, terrain, terrain layers etc… by simply selecting the prefab or terrain!
Fixes
- Fixed Impostor shadow receiving in URP Deferred+
- Fixed preset saving when using the Material Manager
○ Version 21.4.2
Fixes
- Fixed Flow elements causing issues when rendered as particles
○ Version 21.4.1
Features
- Added TVE Keywords Logger accessibe from Window > Asset Manager > Log Material Keywords. The feature shows all local keywords and their usage in materials
Fixes
- Fixed terrain height not updating for conforming elements when scene is saved
- Fixed material _MainColor and _Color showing up as modified in version control
- Fixed Flow elements causing issues when rendered as particles
- Fixed missing Dual Colors mode on the Layer feature
- Fixed Adaptive GI block not working correctly
○ Version 21.4.0
Important
- Please delete the previous TVE and Module folder to avoid conflicts. Various shader function files are renamed! All material properties will upgrade when using the Material Upgrader, Material Manager, or by selecting and expanding the material inspector!
Changes
- Changed all colors to be gamma corrected. The values are now the same as any unity shader colors (a value of 0.5 is mid-gray for the human eye) instead of being represented as linear (a value of 0.5 is light gray for the human eye). All colors are automatically upgraded
- Changed scripts behaviour for Terrain and Elements. They are now updated on selection and on scene save to avoid performance drops with many objects in edit mode
- Removed the Prefab Blending option from the TVEPrefab component to avoid performance drops with many objects. Use the TVEBlanket component instead to automatically blend objects with the terrain
Features
- Added support for element Render Overrides. You can now override the resolution and mipmaps per renderer
- Added option to Update Impostor Material button on the TVEPrefab component
- Added Ripples features to terrain shaders to simulate grass motion ripples at far distances
- Added Speedtree9/Speedtree10 conversion support
- Added options to disable keyword generation for most Amplify Blocks (in progress)
Fixes
- Fixed Motion Flowmap jumping when using ripples
- Fixed Motion Bending when the mesh is set as ZUp
- Fixed Terrain script not working correctly with mesh terrains
- Fixed Mipmap Streaming in HDRP (available for Main UV)
- Fixed Impostor shadow receiving in URP Deferred+
○ Version 21.3.0
Important
- Please delete the previous TVE and Module folder to avoid conflicts. Various shader function files are renamed! All material properties will upgrade when using the Material Upgrader, Material Manager, or by selecting and expanding the material inspector!
Changes
- When using terrain layers in Packed mode, previously, the Packed textures were assigned to the Layer Mask slot. With version 21.3.0 or higher, the Normal slot is used for package textures. This change allows for using the Terrain Layer as is, without needing to use duplicated layers for packed textures! If packed textures are used, all you need to do is to move the texture from the Mask to the Normal slot on the terrain layer. Additionally, the Shader texture can be added to the Mask slot to be able to switch the Terrain Maps option seamlessly!
Features
- Added Automatic Prefab to Terrain blending. When enabled, the feature uses material property blocks to assign the terrain textures, and the prefabs are batched via GPU Instancing instead of SRP Batcher or GPU Resident Drawer. The feature only supports blending blanket objects with one terrain at a time
- Added Layer, Detail, Occlusion, and Gradient features to impostors to have the full dynamic features when needed. The Layer and Detail can be used for top-projected moss
- Added the option to select what channel is used for layer and Detail masks
- Added Terrain Remap keyword to disable channel remapping when not used (off by default because it is rarely used)
- Added Terrain Color keyword to disable per-layer color when not used (off by default because it is rarely used)
- Added support for MeshLOD generation on conversion or via the Asset Manager tool
- Added the option to export a package for the collected assets for easier sharing
- Added remap slider for Dither Glancing feature (fade out leaves perpendicular to the camera view)
- Added a Compile Custom Shaders button on the Material Upgrader tool to automatically recompile user shaders
- Added the option to delete TVE and Modules before new installation under Window > BOXOPHOBIC > The Visual Engine menu
- Optimized Texture UV computation for all maps; the UVs are now reused where possible. This affects especially Triplanar and Stochastic mapping, where the UVs can be reused for all textures in a layer
- Optimized Terrain Proxy texture memory when used at runtime
- Improved conversion of prefab variants deriving from fbx prefabs with overrides
Fixes
- Fixed Normals not working correctly with Triplanar and Stochastic mapping
- Fixed Amplify throwing errors in some rare cases
- Fixed various issues with terrain proxy baking when used with mesh terrains
- Fixed various issues with copying terrain data to blanket materials
- Fixed LODCrossFade not working for BIRP Standard Lit shader
- Fixed Terrain Conform not enabling the correct keyword
- Fixed Layer Blend Intensity set to 0 by default