Skip to main content

Errant Paths 0.9 - Now Available!

ยท 5 min read

It's with great pleasure that we finally release Errant Paths to the world.

We are proud to say that it is the most comprehensive tool for making roads and various spline-based systems available on the market.

image

Among its features are:

  • Versatility needed for diverse path types - roads, highways, railways, fences, rivers, powerlines, rollercoasters, pipelines, racetracks and more
  • User-friendly way of constructing Paths in Blueprints - with support for complex, multi-level hierarchies of components
  • Adjusting landscape and weightmaps
  • Modifying surrounding Biomes
  • Spawning based on customizable procedural logic
  • Painting tools for artistic control over spawning
  • Framework for post-processing of spawned objects (e.g. projecting onto landscape)
  • Real-time, background update of Paths during editing
  • Connecting, splitting, merging, reversing paths and intersections
  • Spawning splines for AI and navigation
  • Blueprint API and Blueprint Function Library with examples

We also have other systems in the works, such as Pathfinding and Cables/Attachments, that we plan to release in the coming weeks.

The plugin also comes with the first version of our Asset Library containing several path examples such as asphalt roads, highways, railways, and more. These examples barely scratch the surface of what's possible with the plugin and we plan to expand this library further to offer a wide range of realistic and easily customizable paths for your projects.

image

Naturally, with this being the first public release of the tools, we are aware of the long way we have to make them perfect. At the same time, we are grateful for all the feedback we received so far, from over 30 teams that were testing the plugin in the Closed Beta phase. Your fresh perspective helped us discover issues that could otherwise go unnoticed and allowed us to better prepare for this release. We are also thankful to all the teams that saw the potential and decided to purchase the tools at an early stage.

In the next few weeks we plan to focus on improving the existing features, bug fixing, polishing the user experience, and adding more examples to our Asset Library. We will also put effort into expanding the documentation and making the plugin as accessible as possible.

If you are eager to learn more, the best place to start is the Overview page. Make sure to check out our Roadmap as well. If you decide to incorporate the plugin in your project, it is now available for purchase on our website.

Thank you for being so patient and have fun exploring the plugin!


Below you can find the changes we did since version 0.8. Our primary focus was on bug fixes and preparing for the Open Beta. Fortunately, we still managed to include a few new features!

Features:

  • Randomized mesh selection - spawn random mesh from a group of meshes
  • Reversing a Path - available in the Path context menu
  • A toggle to disable Physics generation for SplineMeshes - very useful when regenerating multiple Paths repeatedly
  • SplineMesh's Start/End X Scale is now used as tangent length. Previously it was unused and locked to 1.
  • Option to project the first/last point of the Path onto the landscape
  • Option to disable adjusting a PathSpline to connected Paths - useful for roads with a turn lane that serves as a connection point
  • Example Label for detecting if we are near the Path's starts/ends

Improvements:

  • CreateTool now remembers the last Path type it spawned
  • Hovering the cursor over a Spawn Condition now highlights the mesh it affects
  • Uncluttered Spawn Condition UI by hiding the details of unused conditions
  • Added a warning for when Edit Layers of Errant plugins are in incorrect order (EP layer needs to be on top)
  • Landscape Adjustment Operator (Min/Max/Auto) is now available for all the Adjustment Strategies (not just splines).
  • Reorganized/renamed/moved source files
  • Added a Biome to the example map to showcase foliage removal, downsized the map
  • Skip writing to BiomesMasks when EB plugin is missing/old (instead of showing warnings)

Fixes:

  • Fixed infinite loop in "Create from Splines"
  • Fix landscape adjustment for Paths using different Operators along the spline
  • Fix BiomeMask adjustment not working reliably without height/weightmap adjustment
  • Ignored last spline point by mistake when processing Label
  • Maintaining manual Label editions was broken
  • Prevent BiomeMasks from being GarbageCollected during rendering
  • Landscape Adjustment subsystems now tick independently from the world and don't freeze on certain operations (such as dragging sliders)
  • Fix low performance when moving meshes in PathTemplates
  • LockOrientation now correctly handles non-uniform scaling
  • "Create new asset" button correctly assigns new asset to the property.
  • Fixed "Open Landscape And Biomes Adjustment" button
  • Adjust first selected Path towards the second selected Path
  • Child blueprints weren't compiled when the parent blueprint was
  • Compiling description while it's in the selected Path crashed the editor
  • Crash when exiting editor related to the notification manager
  • Crash when exiting while landscape adjustment was in progress
  • Disable dirtying Path when a user changes LandscapeBiomesAdjustmentProperties in PathTemplate.
  • Disable landscape/biome adjustment if user deleted the last remaining landscape
  • Don't warn about uncompiled BPs for Paths that aren't being generated
  • Fixed crash after reparenting AEpPathTemplate to a AActor
  • Fixed Blueprint API (masks were incorrect, async update was used)
  • Only check AlignStrategy correctness if landscape adjustment is enabled
  • Remove old anchors when recalculating them (after a PathSpline was removed)
  • Reworked collision channel filtering when projecting Path onto geometry
  • Don't automatically reset dimensions of SplineMeshes when changing from one MeshAsset to another in a PathTemplate (only when changing from null)
  • Fix compilation issues when plugin is placed in Engine directory
  • Hide "ConvertToStaticMesh" button (will be restored in a future update after it gets fixed)