Unreal Engine 5.7 support, alongside various improvements and bug fixes
New Features
Stamp Brush Enhancements
- Noise Input for Stamp Brush - You can now add noise as an input source for your stamp brush. Same controls as in the Noise brush but can be applied on stamp layers.

- Spline-Point Scale Component Support - When using the spline brush in spline mode, you can now select which spline point scale component(X, Y or Z) to use as the brush width multiplier

- Use UTexture for Stamp - The stamp brush now accepts UTexture instead of just UTexture2D, giving you more flexibility with texture types

- Texture Validation - Added validation to ensure texture inputs used in brushes are of compatible types, preventing crashes from invalid textures
Runtime Landscape Features
- Brush Priority System - Add priority levels to brushes so they apply in the correct order at runtime similar to offline brushes

- Static Brushes - Renamed "Runtime Persistent" brushes to "Static Brushes" for clarity. These brushes persist on the landscape and aren't removed after rendering
- Bounds Visualization - Added the ability to visualize brush bounds in the editor for runtime brushes. With brush selected you'll see outline just like with offline brushes.
- SetDefaultLandscape for Blueprints - Exposed SetDefaultLandscape function for use in Blueprints, allowing you to change which landscape the plugin targets

- Runtime Spline Brush Support - Runtime spline brushes are now supported, allowing you to dynamically modify landscapes using spline-based brushes at runtime

Masking
- Post-Process Material Parameters - Added automatic detection of material parameters when a material is used as a stamp source, and the UI now shows these parameters for adjustment

- SetMaskPostProcessMaterial for Blueprints - Exposed SetMaskPostProcessMaterial function for Blueprints

- Mask Render Size Control - Fixed issues with changing mask render size and improved parameter display for post-process materials
Editor Mode & Tools
- Realtime Override - Added an option to override realtime preview in the editor mode, giving you more control over preview refresh
- World Partition Builder Volume Selection - The World Partition Builder can now build only selected volumes
User Interface Improvements
- Brush Outline Scaling - Added an option to scale brush outlines with brush size for better visual feedback
- Live Preview Updates - Stamp brush tiling settings now show changes live in the preview
- Tooltips Improvements - Improved clarity in tooltips and UI text throughout the plugin
Blueprint API Enhancements
- QueueRender Callable from Blueprints - You can now call QueueRender from Blueprint, allowing you to trigger runtime landscape updates in your game logic
- GetBrushPriority Access - Fixed GetBrushPriority to be properly usable from Blueprints
- OnLandscapeCollisionsUpdated Delegate - New Blueprint-callable delegate that fires when landscape collisions are updated at runtime
- Property Setters - Added missing setters for variables that Unreal Engine adds to the blueprint editor but fails to call modify on
Memory & Debugging
- LLM Memory Tags - Added LLM (Landscape Level Management) memory tags for runtime landscape, improving memory profiling
Fixes & Stability Improvements
Critical Fixes
- Fixed a crash that occurred when runtime landscapes had Z locations that were too high
- Fixed crash when selecting a Bridge actor in Unreal Engine 5.5
- Fixed fatal error that occurred when removing landscapes
- Fixed crash during ConvertHeightmapToCollisionData operation in runtime landscapes
Stamp & Brush Fixes
- Fixed crashes when stamp brush had null materials
- Improved crash handling during stamp brush material validation
- Fixed garbage data appearing in layered stamp textures when no mask is applied
- Fixed broken "reset to default" button on stamp brush layers
- Ensure stamp textures are loaded before painting
- Fixed references to outdated mask asset paths in noise brushes
Mask & Material Fixes
- Changing mask render size no longer leaves leftover mask data
- Fixed post-process material not rendering correctly when using textures that aren't pre-loaded
Runtime Brush Fixes
- Fixed invalid out-of-bounds render warnings for runtime brushes
- Don't check non-static brushes for valid static brush bounds
- Fixed static brushes failing to render when landscape has an offset
- Fixed issue where landscapes could be removed outside the main thread
- Removed incompatible settings from persistent/static brushes
- Fixed Bridge actor references after copying from another world
- Brushes now properly update when landscapes are moved
Subsystem & Editor Fixes
- Fixed PCG updates when the landscape changes offline
- PostDuplicate is now properly called on components after duplication
- Fixed UI issue when drag-duplicating brushes
- License state changes now properly refresh the UI from the editor mode
- Fixed parsing errors in edit condition strings
- Fixed potential memory issues with property unregistration
- Runtime landscape changes now properly reset when reloading a game level in PIE
Editor UI Fixes
- Fixed outdated edit condition checks in the UI
- Now shows all unique error notifications instead of duplicating them
- Fixed missing noise brush mention in certain UI contexts
- Hide Biomes Mask visualization when Biomes Plugin is not available
- Fixed typo in Visibility mask name
Performance & Optimization
- Improved performance of texture validation checks
- Track lifetime of brushes when sent to other threads, preventing crashes
- Various performance improvements in landscape utilities for split/merge operations
- Fixed errors in weightmap split and readback operations
- Added recursive division of render areas into smaller parts when rendering large areas
Upgrade Notes
When upgrading from 1.6.x to 1.7.0:
- "Runtime Persistent Brushes" have been renamed to "Static Brushes" - existing brushes will continue to work
- Review brush priorities if you have multiple runtime brushes affecting the same landscape