Skip to content

Change Log - 2.0p8

Changes made for this release.

INFO

This release targets Unreal Engine 5.6 and 5.7.

2.0p8 brings a wide range of back-end improvements on all fronts. It improves stability and usability, while substantially improving generation performance. User-facing changes and new features are fairly limited in this release.

Migration Notes

WARNING

If moving from an older preview version, update version by version.

For example, if moving from 2.0p4, move the project to 2.0p5 first, then move it to 2.0p6, etc..

Migration helpers are usually removed after one preview.

TIP

Back up your project before upgrading, and consider running the Upgrade Voxel Assets helper to automatically migrate (and clean up) any outdated assets.

Image
The Upgrade Voxel Assets action can be run from the Voxel Plugin hamburger menu in the toolbar.

Manual migrations required for this release are limited. Moving from 2.0p7 to 2.0p8 should be very straight-forward.

  • Query Voxel Layer nodes will throw errors. Any usages of this node need to be manually re-added.
  • Voxel-specific Navigation Invokers have been removed. The Voxel World will now automatically generate navigation data whenever requested by standard Unreal Navigation Invokers.
  • The Smooth Step node no longer has a Clamp option. The alpha input is now always unclamped. If you require this alpha to be clamped, manually insert a Clamp node before it.
  • The default collision profiles for the Voxel World (both Visibility and Invoker) have been changed to BlockAll.
  • Vertex Projection (an experimental feature to improve sharpness of geometric terrain shapes) has been removed. The approach had too many fundamental issues with no solutions.

General Improvements & Performance

  • World generation speeds are now up to twice as fast as they used to be. Generation of chunk contents is now sparse; most cells in a chunk are only generated if the cell is near the surface.
  • Added Max Background Tasks to Voxel World. This can be used to control how much of the CPU Voxel Plugin is allowed to use for generation tasks.
  • Added vertex deduplication when using Nanite, decreasing voxel-related (V)RAM use by up to 40%. This is still experimental, and disabled by default, but will likely be enabled by default in the future.
  • Improved collision cooking performance.
  • Added option to create Smart Surface Type when righ-clicking Surface Type Graph assets.
  • Added option to open parent material when right-clicking a Surface Type asset.
  • Optimized collision component initialization.
  • Fixed Voxel World raytracing representations being visible in the main view.
  • Added Render Chunk Size setting for decreased hitching on high-resolution Voxel Worlds.
  • Improved Nanite Cluster layout.
  • Added high-performance bulk debug draw tools.
  • Added DumpVoxelValues debug utility.
  • Improved behavior when pressing F to focus on Voxel actors in a viewport.
  • Preview meshes no longer use Nanite.
  • Example downloads are now cached.
  • Stamps now throw an error when no valid layer is assigned.
  • Fixed various ensures.
  • Collision is now double-sided in-editor, and optionally double-sided in game. This is controlled from the Voxel World.

Stamps

  • Improved "Apply on Void" UX
  • Added inline details panel for configuring defaults in the Voxel Stamp editor panel/drawer (Shift-Space).
  • Fixed graph-overriden layer and blend mode not being greyed out reliably.
  • Fixed partial invalidation of spline stamps.
  • Stamps that only affect metadata are no longer considered for world generation bounds.
  • The Metadata Overrides list in stamp configuration now auto-expands.
  • Curves now invalidate their stamps as keys are moved around, instead of only updating once released.
  • Improved automatic priorities on stamps. It now only looks for stamps within the same layer, and stamps can be excluded from this counter from the details panel.
  • Added Stamp Seed property. This is randomized per stamp, including when copy-pasting.
  • Added Priority to the automatic stamp naming scheme.

Sculpting

  • Added external sculpt save assets, allowing for easy re-use of sculpt data.
  • Improved the materials used to visualize brushes when height sculpting.
  • Added cube sculpt tool.
  • Improved in-editor sculpt tool behaviour.

Materials & Surface Types

Image
Metadata can now be sampled in materials without interpolation, and bit depth can be selected to preserve VRAM use.
  • Properly implemented Nanite Displacement Fade (controlled from Voxel World settings).
  • Fixed an issue where, in some configurations, material indices would get swapped, leading to blocking artifacts across chunks.
  • Renamed Use with Lidar material flag to Use with Voxel Plugin or Lidar.
  • Blend Smoothness on Surface Types is now 0.5 by default.
  • Added a project setting to disable automatic saving of MegaMaterial cache assets.
  • MegaMaterials now only output RVT and Single Layer Water values when actually needed.
  • Refactored metadata (texture) storage for Metadata used in the rendering pipeline. No more attribute index errors should be thrown.
    • Bit depth used for metadata textures can be selected in the metadata asset.
  • Added option to not interpolate metadata sampling in materials.

Voxel Graphs

  • Improved and added more Voxel Graph templates.
  • Improved graph debugging visuals.
  • Made Relative Height Range on Voxel Height Graph output nodes an advanced pin.
  • Fixed Sample Height Stamp node not working.
  • Added Sample Heightmap node.
  • Added Sample Voxel Static Mesh node.
  • Transform Location now takes a transform buffer.
  • Renamed Get Spline Point to Get Position Along Spline and Get Spline Height to Get Height Along Spline.
  • Fixed issues related to copying Sample Stamp nodes.
  • Added support for user structs and data assets, including Blueprint-defined types.
  • Pin categories can now be collapsed by default by appending ::Collapsed to the category name.
  • True Distance Cellular Noise nodes now output the nearest neighbor cell positions.
  • Fixed artifacts in the True Distance Cellular Noise nodes.
  • Made the text for seed pin values monospace to prevent nodes with seeds changing size.
  • Added Lerp for rotation types.
  • Added the ability to drag objects into array property values.
  • Added custom pin colors for Vector2D, Double Vector and Double Vector2D.
  • The pin types for metadata values are now automatically updated when a metadata object is assigned.
  • Advanced Noise nodes no longer produce NaN values when positions get too small (due to high octave count or low feature scale).
  • Added Get Stamp Seed node which can be used to drive procedural logic in graphs.

(V)PCG

  • Added (highly) experimental Scatter framework.
  • Fixed Resolve Smart Surfaces not working.
  • World generation no longer waits for PCG is PCG generation is paused.
  • Added Elevation Isolines PCG node (height-only).
  • Switched point positions to use doubles.
  • Added new Generate Points 3D VPCG/Scatter node.
  • Added new Voxel Sampler node with better UX. The previous one still exists, but we recommend using this one.
  • Fixed issues related to PCG invalidations when spawning stamps.

Components, Gameplay Logic & Blueprint API

  • Exposed more stamp properties to Blueprint.
  • Re-exposed Visible flag on Voxel Collision Invoker components.
  • Updated Export Data to Render Target nodes to support all metadata types.
  • Added Create Voxel Texture From Render Target node. This allows the runtime creation of textures for use in Voxel Graphs.
  • Improved Stamp property getter/setter UX
  • Voxel Spline Components are now Blueprint Spawnable.
  • Added array value support for Set Parameter.
  • Added No Clipping component.