Embedded Techno Login

Procedural Root & Vine Generator

Documentation · Version 4.0.0 · Unreal Engine 5.4–5.8 · Win64 · Updated October 26, 2026

PRG generates roots, vines, organic barriers and bridges in Unreal Editor. Root and Vine actors follow surfaces, climb, wrap around supports, hang from ledges or spread across cave interiors. Barrier actors fill openings, Bridge actors span two banks, and Attraction actors guide growth toward an area. Export the result as a Static Mesh, or export Growth Data for a Runtime Growth Actor to play back in-game without running the generator again. All four generators support Material / Shader and VAT playback.

Installation

  1. Close Unreal Editor. Building a source package requires a compatible C++ build toolchain.
  2. Copy the ProceduralRootGenerator folder into your project's Plugins directory.
  3. Open the .uproject in the matching Unreal Engine 5.4, 5.5, 5.6, 5.7 or 5.8.
  4. Verify the plugin is enabled in Edit > Plugins.

What's New in Version 4.0.0

  • Hanging vines and Cave / Underground roots, with supported starts, descending spans and interior ceiling/wall traversal.
  • Organic bridges with four bank anchors and runtime growth from either bank or both ends toward the middle.
  • Smoother paths, stronger tube-clearance safeguards, pointed root tips and more natural vine anchors/fibers.
  • Radius-aware bark detail and localized parent-to-child texture/normal blending; optional geometric fusion stays off by default.
  • More reliable Sequencer, reverse playback and Character proximity activation, plus a beginner workflow below.
  • Packages and actor Blueprints for Unreal Engine 5.4–5.8 on Win64.

Download the 4.0.0 workflow guide · Read the full V4 changelog · Download the changelog

Quick Start

  1. Place an actor: Add a Root, Vine, Barrier or Bridge actor from the plugin content to the level. Enable Show Plugin Content in the Content Browser if needed.
  2. Choose a workflow: Use the actor's built-in spline/placement setup, or assign an external spline where supported.
  3. Select a preset: Start from a preset for fast iteration, then move into Expert Mode if you need deeper control.
  4. Build: Use Generate Paths + Mesh for Root, Vine and Barrier, or Generate Bridge for bridges. Refresh Mesh retains the existing paths.
  5. Refine: Adjust category-specific settings such as branching, shaping, surface interaction, or export behavior.
  6. Export: Use Export Static Mesh for fixed scenery or Export Runtime Actor for animation. Choose Material / Shader or enable VAT baking before runtime export.

Workflow & Exports

Static Mesh Export

Use Static Mesh export when you want final environment geometry. This is the normal production path for non-animated results. Root, Vine, Barrier and Bridge include generated detail geometry and materials in the bake. Export the full result or a selected branch, tier or strand subset where the actor supports it.

Runtime Growth Export

Use runtime export when you want reveal, spread, regrowth, seal, or reverse-growth animation. The authoring actor writes UPRG_GrowthData, saves the runtime mesh payload, bakes VAT textures when enabled, and spawns or updates a Runtime Growth Actor.

PathUse it when...
Static MeshThe result will not animate and should use a normal Static Mesh asset.
Runtime Growth + VATAnimated growth using baked vertex data. Available for Root, Vine, Barrier and Bridge; enable VAT baking before exporting.
Runtime Growth + Material / ShaderGrowth driven by compatible material parameters, without VAT textures. Available for Root, Vine, Barrier and Bridge, including directional bridge timing.
Performance note: Choose VAT or Material / Shader growth to suit the asset, and keep an eye on exported density. Dense root, vine, or barrier results can produce very large VAT textures. Dial down density, narrow the export scope, or loosen VAT Mesh Decimation Tolerance before using a heavy preview result as a runtime asset.

Authoring Systems

Each actor type supports a small set of growth modes. Pick the one that matches your scene geometry and intent, then work through the category-specific settings in the reference sections below. Most mode differences are structural — Climbing roots and Surface roots share a lot of settings, but the Climbing-specific ones only appear when that mode is active.

Root Behavior

ModeWhat it is for
SurfaceGrounded root networks that crawl across terrain, meshes, or other traced support surfaces.
ClimbingWall-aware roots that seek vertical support, climb, and then stop, flow over, or spread at the top.
Cave / UndergroundStarts inside a cave near its roof, spreads across the ceiling and descends walls. Eligible smaller roots can continue along the floor. Cave setup.

Vine Behavior

ModeWhat it is for
ClimbingSurface-adhered vines that climb upward and can stop, drape over, or spread at the top.
WrappingVines that cling and orbit around support geometry, including corners and short gaps.
HangingSupported underside/ledge starts followed by gravity-shaped free spans and optional reattachment. Use this mode for underside starts. Hanging setup.

Barrier Behavior

SystemWhat it controls
PatternCurtain, Lattice, and Organic Seal choose the main strand layout for an opening.
Anchors and EndpointsAnchor Mode chooses where strands start; Endpoint Mode chooses where they finish.
Cross-links and OffshootsCross-links fill gaps between main strands. Strand branches add smaller organic offshoots.

Detail Attachments

Root, Vine, Barrier and Bridge place your Static Mesh details on finished tube frames. No decorative detail meshes are bundled. Use Set Up Detail Meshes to choose existing assets or import mesh files, calibrate facing/up axes and scale in the native preview, then Save Setups and Add Setups to Generator. File imports go into /Game/PRG/DetailMeshes; reusable setup assets remain project content.

Enable the detail layers under Mesh > Details. Rebuild Detail Attachments updates placement; Clear Detail Attachments removes its preview. Adding a setup copies its rules into the actor. Later setup edits do not automatically change existing actor layers.

ControlUse
Start / Stop Along SplineFractions of finalized spline length. New rules use 0.05–0.8, leaving the last 20% without attachment bases. Tip/junction exclusions can narrow the interval; meshes are not clipped at its edges.
Radius sizing and filteringDetails become smaller on thinner branches. Radius limits restrict placement to eligible branch thicknesses.
Side placementPlace on the exposed tube surface or its flanks. Both Sides suits shelf-like details on thick surface roots.
Facing Spread / Random SpinVary facing direction and rotation independently. Calibrate the source mesh before tuning placement orientation.
Flowers / Upward LeanWorld Up Bias blends outward facing toward world up. Support-facing constraints take priority near a ceiling or wall.
Distribution / spacing / countControl coverage and cost. Use suitable source geometry before multiplying it over many placements.
Exclusion regionsDetail Exclusion actors mask a box or spline corridor, globally or for named rules.
Runtime outputInstanced groups retain appearance times and growth durations, including Sequencer scrubbing. Growth does not add wind or skeletal deformation.
Static outputExport Static Mesh merges generated attachments, materials and authored UVs into the bake. Complete bakes above five million triangles ask before proceeding; unattended exports above that limit stop.
Texture atlasesUniform-grid remapping needs an atlas-capable material. For irregular atlases, use meshes whose own UVs select each specimen and leave grid remapping off.

PRG Editor Tab

Open Window > PRG for the native tab. It follows the selected generator or helper actor, including component selection. Quick view shows the main controls; category filters expose the rest without changing the selected actor.

SettingDescription
Selection-aware mode switchingThe tab automatically swaps between Root, Vine, Barrier and Bridge layouts based on the currently selected actor.
Category filtersQuick, Mesh, Branch, Shape, Surface, Simulation, Animation, and Debug-style filters help you focus on one part of the tool at a time.
Shared workflowThe main build, mesh refresh, export, and documentation actions stay consistent across actor types.
Faster iterationUseful when you are repeatedly tweaking presets, branch settings, or export options during look development.

Architecture

PRG is split into two modules with a hard boundary between them. The editor module handles everything you touch during authoring: Root, Vine, Barrier, Bridge and Attraction actors, detail placement, the PRG tools tab, mesh generation, Static Mesh export, and Growth Data/VAT bake. None of that ships to the player. The runtime module is what actually packages: UPRG_GrowthData assets, APRG_RuntimeActor, and the DynamicMesh reconstruction and playback utilities. If you're only using PRG to bake Static Meshes, the runtime module is essentially inert.

LayerCurrent responsibility
ProceduralRootGeneratorEditorEditor-only authoring actors, presets, mesh generation, Static Mesh export, Growth Data export, VAT bake, PRG tab, and details customization.
ProceduralRootGeneratorRuntimeRuntime Growth Data assets, DynamicMesh reconstruction, VAT/material playback, scheduling, triggers, rendering controls, and Blueprint playback events.
Runtime actorAPRG_RuntimeActor rebuilds exported body and tip meshes, then drives VAT playback or shader reveal at runtime.
Platform boundaryThe plugin descriptor allow-lists Win64 for both Runtime and Editor modules and displays plugin version 4.0.0.

Spline & Mesh Quality

V4 preserves authored control distances when sampling the mesh path, refines curved spans and improves radius-aware bend and ring-clearance checks. Bounded smoothing reduces the large spike and pinching failures caused by unstable updates. Endcaps retain the body's texture direction, and terminal taper reaches a point over a longer section.

  • Start with Low or Medium Mesh Density. Higher density adds geometry; it does not repair missing support collision.
  • Use Generate Paths + Mesh / Generate Bridge after changing growth, traversal or placement settings. Use Refresh Mesh for geometry and texture-flow settings on the current paths.
  • Lock the seed while tuning. Corrected sampling can change a V3 result on rebuild; different engine collision implementations can also produce different branches.
  • Extreme bend/radius combinations may shorten or reject an unsafe branch. Reduce thickness or give the path more room rather than relying on unlimited subdivision.

Materials & Data Encoding

Use the supplied M_FlowAligned material instances for bark and vine textures. V4 measures the tube's cross-section for physical circumferential mapping, integrates lengthwise grain spacing and blends texture samples and normals locally at parent/child contacts.

ControlUse
Bark Detail Radius ExponentActor setting on Root, Vine, Barrier and Bridge. Default 0.25 makes smaller roots moderately finer-grained. 0 keeps approximately constant physical feature size. Rebuild the mesh after changing it.
RadiusScaleStrength / ReferenceRadiusAt full strength, new meshes use physical radius mapping. ReferenceRadius (cm) sets the material's reference repeat density; it is separate from the actor's bark-detail response.
WrapScale / GrainScaleAdjust circumferential repeats and lengthwise grain. Base and Decal Tiling Scale adjust the corresponding texture layers.
Junction Texture Blend StrengthControls inherited texture and surface-normal contribution at an attachment. On Root/Vine, Junction Flow Blend Distance bounds the actor's transition region.
Normal Strength Base / DecalAdjust normal-map detail around the blended surface normal. Zero removes normal-map perturbation.
Fuse Branch JunctionsOptional geometric union for closed tubes, off by default. It can substantially increase build time and triangle count. Texture/normal blending remains available with fusion off.

Texture transfer improves an existing attachment; it does not merge the two surfaces. The parent must be present in the combined mesh, so split/individual branch exports cannot inherit texture across separate files.

Custom material payload reference

New exports use payload version 7 and eight UV layers. Custom materials must preserve the growth and mapping channels.

ChannelMeaning
UV0Geometric cylindrical coordinates; tangent generation remains on this layer.
UV1Authored angular flow and integrated lengthwise bark coordinate.
UV2Encoded flow-forward direction.
UV3Vertex appearance time and branch start time for growth.
UV4.X / UV4.YVAT row lookup / physical circumferential coordinate in meters.
UV5.XY + UV6.XLocal centerline-collapse vector for tip and radius growth.
UV6.YLegacy/physical mapping marker and inherited junction blend weight.
UV7Projected parent texture coordinates in meters, or the local physical coordinates away from a junction.
Vertex ColorEncoded shading data; inherited junction normals use octahedral RG encoding. B retains the legacy radius payload.
Existing exports: seven-layer authoritative meshes remain loadable with their legacy mapping. Rebuild and re-export to obtain V4 bark and junction shading. Custom generic materials will not automatically decode this payload.

Root Actor Reference

The Root Actor is the main authoring tool for procedural root systems. It supports preset-driven setup, surface growth, climbing growth, multi-tier branching, attraction, mesh export, and runtime growth export.

Surface roots crawl across traced support surfaces. Climbing roots seek nearby vertical support, climb, then stop, flow over the top, or spread across the top surface.

Main Actions

SettingDescription
Generate Paths + MeshBuild all generated content from the current settings.
Refresh MeshRegenerate the generated mesh from existing spline points.
Export Static MeshGenerates a static mesh actor from the current generated mesh.
Export Runtime ActorExport spline data to a runtime growth actor for growth playback.
Open DocumentationOpen the Procedural Root Generator documentation.
Reset to DefaultsResets all settings to their default values
Overwrite Preset From Current SettingsSelect an existing preset row and replace it with the current actor settings. If the preset table is missing, it will be created first.

Components

SettingDescription
RootRoot scene component for the actor. (Read-only, Blueprint read-only)
Parent Spline ContainerContainer component that owns generated or authored parent/root splines. (Read-only, Blueprint read-only)
Generated Mesh ComponentDisplays the generated result in-editor. (Read-only, Blueprint read-only)
Primary ContainerContainer for generated primary branches. (Read-only, Blueprint read-only)
Secondary ContainerContainer for generated secondary branches. (Read-only, Blueprint read-only)
Tertiary ContainerContainer for generated tertiary branches. (Read-only, Blueprint read-only)

Components / Debug

SettingDescription
Hub Debug SphereEditor/debug sphere used to visualize the hub or placement origin. (Read-only, Blueprint read-only)
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. (Read-only, Blueprint read-only)

General

SettingDescription
PresetSelect a preset row from DT_RootPresets. Includes custom presets created with New.
Growth TypeEnabled root growth behavior. Surface follows supported ground and can traverse downward edges; Climbing seeks walls; Cave / Underground starts at an interior ceiling and descends cave walls.
Expert ModeShow advanced/expert controls throughout the root generator details panel.
Use External SplineUse a spline from another actor as the parent root path instead of the built-in spline
External Spline ActorThe actor containing the spline component to use as the parent root
External Spline ComponentThe specific spline component from the external actor to use

General / Presets

SettingDescription
Root Presets TableDataTable containing root presets (row type: FRootPresetData).
Apply Preset On ChangeAutomatically apply preset values when the preset selection changes
Auto Set Preset To Custom On EditAutomatically set preset to 'Custom' when any parameter is manually edited

General / Advanced

SettingDescription
Preview ModeChoose which root hierarchy levels to preview: None, Parent only, Parent + Primary, or All.
Random SeedSeed for random number generation. Change this to get different root patterns with the same settings
Master ScaleGlobal scale multiplier for the entire root system
Min Generated RadiusMinimum radius threshold for generating roots. Roots thinner than this will not be generated
Flat Hub Merge Diameter (cm)Diameter of the hub merge zone. Geometry inside this radius is omitted for a cleaner merge into a trunk or planter.

Mesh

SettingDescription
Root MaterialMaterial to apply to the generated root mesh

Mesh / Tube

SettingDescription
Tube Axial SubdivisionsMultiplier for axial sample density along each root segment (1 = baseline)
RM Frames Max Samples Per SplinePer-spline sample cap for mesh/debug frame generation. Hard ceiling is 16384.
Tube Radial SegmentsNumber of radial subdivisions around the root tube
Cap Tube EndsClose the ends of root tubes with cap geometry
Tube End Cap TaperHow much to taper/narrow the end caps
Tube Terminal Taper Length ScaleLength scale of the terminal taper stub ring appended before each non-welded cap.
Tube Terminal Taper Radius ScaleRadius scale of the terminal taper stub ring appended before each non-welded cap.

Mesh / Spline

SettingDescription
Enable Single Point Kink RegularizationRun a local point-chain regularization pass before spline assembly to target single-point kinks (smooth/merge/average) without global smoothing.
Commit Guard Radius ScaleCommit-guard allowance scale applied to local crawl sphere radius. Higher values allow larger commit deviations on thick roots.
Commit Guard Root Radius ScaleAdditional commit-guard allowance scale applied to start radius. Use for large-tier roots that need extra local commit freedom.
Enable Final Committed Step ClampApply a separate post-commit clamp to final committed step distance so growth keeps intended step density even with looser commit guard tolerance.
Final Committed Step Length ScaleMultiplier on intended Step used by the final committed step-length cap.
Final Committed Step Length Max CmOptional absolute cap for final committed step distance in cm. 0 disables the absolute cap and uses Step scale only.
Use Directional Projection For Final Step ClampWhen final step clamp triggers, prefer the intended growth direction for projection when stable.
Always Run Broad Post Growth SmoothingAlways run the broader sharp-corner smoothing pass.
Enable Adaptive Bend SubdivisionEnable local adaptive bend subdivision on the generated point chain before spline assembly.
Adaptive Bend Dot ThresholdCorner direction-dot threshold below which interior turns start receiving adaptive point subdivision.
Adaptive Bend Severe Dot ThresholdSevere corner direction-dot threshold used to increase inserted points for very tight bends.
Adaptive Bend Max Inserted PointsMaximum number of points inserted around a single sharp bend corner during adaptive subdivision.
Adaptive Bend Min Segment Length ScaleMinimum allowed local sub-segment length as a fraction of Step when inserting bend refinement points.
Adaptive Bend Arc BiasHow strongly inserted bend-refinement points bow toward a rounded arc target instead of linear corner interpolation.
Run Adaptive Bend Subdivision After Kink PassRun adaptive bend subdivision after kink cleanup (and broad post-growth smoothing) before spline assembly.
Broad Post Growth Smoothing PassesNumber of broad smoothing passes over interior points.
Broad Post Growth Sharp Corner Dot ThresholdThreshold for treating an interior point as a sharp corner.
Broad Post Growth Blend MinMinimum smoothing blend for a detected sharp corner.
Broad Post Growth Blend MaxMaximum smoothing blend for a severe sharp corner.

Mesh / Smoothing

SettingDescription
Smoothing TypeType of mesh smoothing algorithm to apply
Smoothing IterationsNumber of smoothing passes to apply
Smoothing StrengthStrength of the smoothing effect
Smooth Boundary VerticesApply smoothing to vertices on mesh boundaries
Preserve Junction VerticesProtect vertices at branch junctions from smoothing

Mesh / Welding

SettingDescription
Weld Branch JunctionsMerge vertices at branch connection points
Weld ToleranceDistance threshold for welding vertices at junctions
Use Organic Junction BlendAfter welding a child to its parent, reshape the junction into a softer collar.
Weld Coincident EdgesWeld vertices that lie on the same edge
Edge Weld ToleranceDistance threshold for welding coincident edge vertices

Mesh / Static Mesh Export

SettingDescription
Enable NaniteEnable Nanite virtualized geometry
Recenter Pivot To Bounds CenterMove the mesh pivot to the center of its bounding box
Place Static MeshPlace the generated static mesh into the level
Export ScopeSelects which spline scope is used for export and solo preview.
Export Tier SelectionTier used when export scope is set to Selected Tier.
Export Spline SelectionOptional single spline selection for export. 'All Splines' exports the full generated mesh.
Export Ancestor Chain As Combined AssetWhen exporting branch + ancestors, also produce one combined asset for the full chain.
Export Ancestor Chain As Separate AssetsWhen exporting branch + ancestors, also produce one separate asset per spline in the chain.
Preview Selected Export SplineIf enabled, selecting a single spline for export will also preview only that spline in the editor viewport.
Show Non Selected Splines In Solo PreviewWhen solo export preview is active, keep non-selected splines visible as thin editor debug splines.
Generated Asset FolderFolder path where generated static mesh assets will be saved

Mesh / Static Mesh Export / Collision

SettingDescription
Generate CollisionGenerate convex hull collision geometry for the exported Static Mesh.
Hull CountTarget number of convex hull pieces when generating collision for the exported static mesh.
Max Hull VertsMaximum vertex count allowed per generated convex hull. Higher values preserve more shape detail but cost more collision complexity.
Hull PrecisionPrecision used by convex decomposition. Higher values improve fit at higher generation cost.

Mesh / Interior Face Removal

SettingDescription
Remove Interior FacesRemove mesh triangles whose centroids are inside another root's tube volume.
Interior Removal ModeRemoveAll: remove any face inside another tube. RemoveSmaller: only remove from the thinner root at intersections (preserves the dominant root's surface).
Interior Test Radius ScaleScale factor for the containment test radius. 0.85 means a face must be within 85% of the enclosing tube's radius to be removed.
Preserve Junction FacesPreserve faces near branch junction points even if they are technically inside another tube.
Junction Preserve Radius MultiplierRadius around junction points within which faces are preserved, as a multiplier of the local root radius at the junction.
Interior Test Sample SpacingSpacing (in cm) between centerline samples used for containment testing.
Junction Start Exclusion FractionFraction of child spline length (from its start) where faces are NEVER removed.

Branching / Parent

SettingDescription
Parent CountNumber of generated parent splines.
Parent LengthTarget length (cm) of each generated parent spline.
Parent ThicknessStarting thickness/radius used for parent splines.
Parent Spread Angle DegAngular spread used when distributing parent launch directions around the hub.
Parent Launch Stub LengthMinimum launch stub length (cm) before generated parents begin to curve.
Parent Min Angular Separation DegMinimum angular separation between parent launch directions.
Parent TaperRate at which parent splines taper from base to tip. Lower values taper more gradually.
Parent Tip Taper MultiplierAdditional taper multiplier applied near the tip of parent splines.
Parent Target Segment LengthTarget segment length used when processing parent splines. Smaller values increase detail.
Parent Spline Smoothing PassesSmoothing passes applied when processing parent splines.
Parents Use Surface ProjectionProject generated parent splines onto nearby surfaces.
Parents Participate In AvoidanceInclude generated parents in avoidance checks.
Loop Branch Side ConstraintRestrict which side of the parent spline branches can generate on. Useful for loop splines where you only want exterior or interior roots.

Branching / Anchor

SettingDescription
Enable Anchor BranchesSpawn short support anchors along climbing roots. Anchor branches are meant to read as wall footholds, not full child roots.
Anchor Spacing CmAverage distance between anchor spawn attempts along a climbing parent.
Anchor Spacing JitterRandom variation applied to anchor spacing so anchors do not appear on a rigid interval.
Anchor LengthLength of anchor branches in centimeters.
Anchor Length VariationRandom variation applied to anchor branch length.
Anchor Start Radius FracAnchor start radius as a fraction of the parent ring radius at the spawn point.

Branching / Anchor / Advanced

SettingDescription
Anchor TaperTaper from anchor base to tip.
Anchor Tip Taper MultiplierAdditional taper multiplier at anchor tips.
Anchor Min Surface VerticalityMinimum surface verticality needed before a climbing root can place an anchor.
Anchor Spread Cone DegCone angle used when choosing anchor directions around the supporting surface.
Anchor Surface Hug StrengthHow strongly anchors conform back toward the supporting surface.
Anchor Target Segment LengthTarget segment length for generated anchor branch splines.

Branching / Primary

SettingDescription
Enable PrimaryEnable generation of primary root branches.
Primary per ParentNumber of primary branches generated per parent spline.
Primary LengthLength of primary root branches.
Primary ThicknessBase radius at the start of each primary branch.
Primary Length VariationHow much branch length varies (0 = all same, 1 = wide range).

Branching / Primary / Advanced

SettingDescription
Primary Spread Angle DegMaximum spread angle in degrees from the parent direction.
Primary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point. Prevents children from being thicker than their parent.
Primary TaperRate at which primary branches thin from base to tip.
Primary Tip Taper MultiplierAdditional taper multiplier applied near the primary branch tip.
Primary Target Segment LengthTarget segment length for primary branch mesh generation.
Min Angle Between ConsecutiveMinimum angle between consecutive primary branches spawned from the same parent.
Primary Meander StrengthRandom meander strength for primary branch paths.
Primary Direction PreferenceHow strongly primary branches keep their initial launch direction.
Primary Spline Smoothing PassesSmoothing passes applied to generated primary spline paths.
Primary Thickness Variation MinMinimum multiplicative thickness variation for primary branches.
Primary Thickness Variation MaxMaximum multiplicative thickness variation for primary branches.
Primary Taper Variation MinMinimum taper variation multiplier for primary branches.
Primary Taper Variation MaxMaximum taper variation multiplier for primary branches.

Branching / Secondary

SettingDescription
Enable SecondaryEnable generation of secondary root branches.
Secondary Per PrimaryNumber of secondary branches generated per primary branch.
Secondary LengthLength of secondary root branches.
Secondary ThicknessBase radius at the start of each secondary branch.
Secondary Length VariationHow much branch length varies (0 = all same, 1 = wide range).

Branching / Secondary / Advanced

SettingDescription
Secondary Spread Angle DegMaximum spread angle in degrees from the parent direction.
Secondary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point.
Secondary TaperRate at which secondary branches taper from base to tip.
Secondary Tip Taper MultiplierAdditional taper multiplier near the secondary branch tip.
Secondary Target Segment LengthTarget segment length for secondary branch mesh generation.
Min Angle Between Consecutive SecondaryMinimum angle between consecutive secondary branches spawned from the same parent.
Secondary Meander StrengthRandom meander strength for secondary branch paths.
Secondary Direction PreferenceHow strongly secondary branches keep their initial launch direction.
Secondary Spline Smoothing PassesSmoothing passes applied to generated secondary spline paths.
Secondary Thickness Variation MinMinimum multiplicative thickness variation for secondary branches.
Secondary Thickness Variation MaxMaximum multiplicative thickness variation for secondary branches.
Secondary Taper Variation MinMinimum taper variation multiplier for secondary branches.
Secondary Taper Variation MaxMaximum taper variation multiplier for secondary branches.

Branching / Tertiary

SettingDescription
Enable TertiaryEnable generation of tertiary root branches.
Tertiary Per SecondaryNumber of tertiary branches generated per secondary branch.
Tertiary LengthLength of tertiary root branches.
Tertiary ThicknessBase radius at the start of each tertiary branch.
Tertiary Length VariationHow much branch length varies (0 = all same, 1 = wide range).

Branching / Tertiary / Advanced

SettingDescription
Tertiary Spread Angle DegMaximum spread angle in degrees from the parent direction.
Tertiary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point.
Tertiary TaperRate at which tertiary branches taper from base to tip.
Tertiary Tip Taper MultiplierAdditional taper multiplier near the tertiary branch tip.
Tertiary Target Segment LengthTarget segment length for tertiary branch mesh generation.
Min Angle Between Consecutive TertiaryMinimum angle between consecutive tertiary branches spawned from the same parent.
Tertiary Meander StrengthRandom meander strength for tertiary branch paths.
Tertiary Direction PreferenceHow strongly tertiary branches keep their initial launch direction.
Tertiary Spline Smoothing PassesSmoothing passes applied to generated tertiary spline paths.
Tertiary Thickness Variation MinMinimum multiplicative thickness variation for tertiary branches.
Tertiary Thickness Variation MaxMaximum multiplicative thickness variation for tertiary branches.
Tertiary Taper Variation MinMinimum taper variation multiplier for tertiary branches.
Tertiary Taper Variation MaxMaximum taper variation multiplier for tertiary branches.

Shape / Variation

SettingDescription
Enable VariationEnable random variation in branch thickness and taper
Variation StrengthGlobal strength multiplier for all variation effects

Shape / Junctions

SettingDescription
Enable Junction BulgingAdd thickness bulges at branch junctions
Junction Bulge StrengthRadius multiplier at branch junctions. 1.0 = no bulge, 1.2 = subtle, 1.5 = pronounced.
Junction Bulge DistanceFalloff distance for junction bulge, as a multiplier of the local radius. Higher = wider bulge zone.

Shape / Thickness

SettingDescription
Enable Organic Thickness VariationAdd procedural noise-based thickness variations
Organic Thickness Noise StrengthAmplitude of organic thickness noise applied along branches.
Organic Thickness Noise FrequencyFrequency of organic thickness noise along each root path.
Use Length Based ThickeningMake longer roots thicker
Length Thickness ScaleStrength of length-based thickening for longer roots.

Shape / Curve

SettingDescription
Use Advanced Taper CurveUse power curve for taper instead of linear
Taper Curve PowerPower exponent for non-linear tapering. Values above 1 preserve thickness longer before narrowing near the tip.

Shape / Organic Cross Section

SettingDescription
Enable Surface Ring FlatteningFlatten and widen surface-contacting root rings so roots are not perfectly circular.
Contact FlatteningFlattening amount for rings classified as surface-contacting.
Exposed FlatteningFlattening amount for rings classified as more exposed above-surface sections.
Cross Slope WideningWidth boost applied when roots traverse across steep surface slope changes.
Base Flare StrengthStrength of trunk-side base flare shaping near branch origins.
Base Flare Distance CmDistance from branch origin over which base flare shaping fades out.
Bend Deformation Fade Start DegLocal bend angle in degrees where geometry-side surface basis/deformation suppression starts fading in.
Bend Deformation Disable DegLocal bend angle in degrees where geometry-side surface basis/deformation is fully neutralized for tight bends.

Shape / Flow

SettingDescription
Enable Hierarchical Flow InheritanceUse a dedicated shading/UV flow frame and parent-attachment inheritance for bark continuity.
Junction Flow Blend Distance CmDistance from a child branch start over which shading orientation/phase eases from parent-aligned values into local branch values.
Shading Flow History WindowHistory window used only by the shading frame. Larger values produce calmer bark/grain flow.
Shading Flow Max Forward Delta DegMaximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots.
Shading Flow Max Seam Delta DegMaximum seam-phase rotation per ring in degrees for the shading frame.
Shading Flow Surface Blend StrengthSupport-normal blend strength for shading frame orientation. Keep low for stable bark flow.
Bias Seam Toward UndersideBias seam placement toward the local underside direction for root shading/flow continuity.
Seam Underside Follow StrengthPer-ring blend factor from previous seam toward projected underside target. Lower values are more stable.
Seam Vertical Fallback Dot ThresholdIf |dot(forward, world up)| is above this threshold, seam underside-follow is disabled and seam continuity is frozen.
Use Absolute Tree Flow UVEncode UV1.y as absolute accumulated distance across the parent-child root hierarchy instead of restarting per branch.

Surface Interaction

SettingDescription
Ground Trace ChannelCollision channel for ground tracing
Snap To GroundSnap root endpoints to ground/surfaces below them
Snap Parent To GroundSnap the parent source spline to the ground. Disable this if you want the parent source spline to stay exactly where you placed it while children still snap.

Surface Interaction / Placement

SettingDescription
Surface OffsetVertical offset for surface points
Fallback Ground OffsetVertical offset for ground points - when radius-adaptive burial is not being used.
Use Radius-Adaptive OffsetApply the output offset based on the local root radius at each point, maintaining a more consistent burial depth.
Render BurialRender-only burial applied to the final mesh path. Use Snap To Ground for surface snapping.
Trace DistanceMaximum trace distance for ground/surface detection in centimeters.
Use Secondary Ground Trace ChannelEnable a second trace channel when the primary ground trace misses.
Secondary Ground Trace ChannelCollision channel used by the secondary ground trace.

Surface Interaction / Surface Crawling

SettingDescription
Use Surface CrawlingEnable surface crawling to follow terrain contours
Trace Complex For SurfaceTrace against complex collision geometry for crawl surface queries.
Crawl Sphere Radius MultiplierRadius multiplier for crawl contact tests relative to local root radius.
Max Crawl Iterations Per StepMaximum crawl solve iterations used per generated step.
Conform Parent Spline To SurfaceConform parent spline points to detected surfaces during crawl evaluation.
Post Snap After CrawlApply an additional post-crawl snap to improve final surface adherence.
Line Trace First For CrawlingAttempt a cheaper line trace before sphere crawl traces for each step.
Fast Surface ReacquireUse a fast local reacquire pass to recover surface contact after misses.
Fast Reacquire DistanceMaximum distance in centimeters for fast surface reacquire checks.
Use Separate Query OffsetUse an explicit query offset separate from the output surface offset during crawl traces.
Crawl Query OffsetVertical query offset used only for surface crawl traces when separate query offset is enabled.

Surface Interaction / Edge Handling

SettingDescription
Enable Edge RoundingRound sharp flat-to-wall and wall-to-flat transitions by inserting a point on the angle bisector.
Edge Detection ThresholdWhen the surface normal changes by more than this threshold between surface contexts, insert a bisector rounding point instead of cutting sharply through the corner.
Edge Search IterationsNumber of binary search iterations used to find the edge location for edge rounding.
Edge Roundness ScaleScales how far the inserted edge-rounding point is pushed along the corner bisector.
Wall Child Spawn ProbabilityProbability of allowing child branches (secondary/tertiary) to spawn on wall-like surfaces when encountered.

Surface Interaction / Attraction

SettingDescription
Enable Surface AttractionEnable surface attraction to move roots towards the surface.
Attraction ActorsOptional attraction actors whose distributed points can pull generated roots toward them during spline growth.
Attraction StrengthHow strongly attraction points influence the next growth direction. 0 disables the system.
Attraction RadiusMaximum distance from a point at which attraction can influence growth.
Attraction Falloff ExponentFalloff exponent for attraction weighting. Higher values make the pull more local around each point.

Surface Interaction / Surface Bias

SettingDescription
Downward BiasBias toward downward growth direction
Max Upward Angle DegMaximum upward angle roots can grow
Parent Wall PreferenceBias for parent roots toward vertical wall-like surfaces versus flatter surfaces.
Use Direction-Aware Child Surface SelectionUse parent direction context when selecting crawl surfaces for child branches.
Child Wall PreferenceBias for child branches toward vertical wall-like surfaces during hinted surface selection.

Simulation

SettingDescription
Curvature ResponseControls curvature sensitivity in current adaptive/detail behavior. Higher values respond more strongly to curvature changes.

Simulation / Gravitropism

SettingDescription
Enable Gravitropic BehaviorSimulate gravitropic response
Gravitropic StrengthStrength of gravitropic steering toward downward growth.
Gravitropic MultiplierMultiplier applied to overall gravitropic turning response.

Simulation / Avoidance Behavior

SettingDescription
Enable Root AvoidancePrevent roots from growing too close to each other
Avoidance RadiusLocal neighborhood radius used when evaluating nearby roots for avoidance.
Avoidance StrengthSteering strength used to push growth away from nearby roots.

Simulation / Organic Behavior

SettingDescription
Enable Organic Candidate GrowthUse field scoring so roots react to concavity, relief, crease, and exposure.
Organic Growth BlendBlend between standard direction logic and organic field scoring.
Organic Candidate CountNumber of direction samples evaluated at each growth step.
Organic Concavity Probe Distance CmProbe distance used for concavity sampling around the current growth point.
Organic Relief Probe Distance CmProbe distance used for relief/height-variation sampling around the growth point.
Organic Selection SharpnessControls how strongly the best organic direction is favored.
Organic Tip Memory StrengthDirectional memory retained between steps to keep trajectories coherent.
Organic Termination Frustration ThresholdFrustration threshold above which a tip may terminate when no suitable organic direction is found.
Organic Field WeightsRelative weights for concavity, relief, crease, verticality, and exposure.
Use Parent Area BudgetConserve local parent cross-sectional area when spawning child roots.
Area Conservation ExponentExponent controlling how aggressively child area usage is conserved relative to the parent budget.
Parent Budget Resolution CmSampling resolution along parent roots used for local area budget accounting.
Parent Budget Influence Distance CmDistance around a spawn location used when applying parent area budget influence.

Branching / Spawn Spacing

SettingDescription
Enable Spawn Density CheckCheck density at spawn locations and skip branches in crowded areas
Spawn Density Radius MultiplierNeighbor search radius multiplier used for spawn density checks.
Spawn Density Max CountMaximum nearby branch count allowed before skipping a new spawn.
Primary Spawn Dead Zone CmMinimum spacing along parent root before allowing another primary spawn.
Secondary Spawn Dead Zone CmMinimum spacing along primary roots before allowing another secondary spawn.
Tertiary Spawn Dead Zone CmMinimum spacing along secondary roots before allowing another tertiary spawn.

Simulation / Movement Variation

SettingDescription
Enable Enhanced Root NoiseReplace the default sine meander with a multi-layer noise system tuned for root behavior. When disabled, the original sine-based meander is used.
Root Noise Primary WavelengthPrimary undulation wavelength in cm. Controls the main side-to-side sweep. Longer = gentler curves.
Root Noise Secondary WavelengthSecondary undulation wavelength in cm. Adds medium-frequency variation on top of the primary sweep.
Root Noise Tertiary WavelengthTertiary (long-range drift) wavelength in cm. Prevents roots from looking perfectly periodic.
Root Noise Forward Wavelength ScaleForward-axis undulation wavelength multiplier. Higher = longer forward waves.
Root Noise Amplitude ModulationHow much Perlin amplitude modulation affects the meander. 0 = constant (mechanical), 1 = fully modulated (organic).
Root Noise Asymmetric BiasRoots in soil tend to favor one side over long distances before switching. 0 = symmetric, 1 = strong one-sided preference.
Root Noise Asymmetric WavelengthWavelength of the asymmetric bias oscillation. Controls how often the root switches its preferred side.
Root Noise Distance DecayHow much meander amplitude decreases along the root's length. Simulates increasing soil resistance. 0 = no decay, 1 = fades to zero at tip.
Root Noise Thickness CorrelationHow much root thickness affects meander amplitude. Thicker roots meander less (more structural). 0 = no effect, 1 = strong correlation.
Root Noise Depth Seeking StrengthSubtle downward perturbation that increases with distance. Simulates roots seeking deeper soil layers. 0 = none, 1 = strong downward drift at tips.
Root Noise White Noise StrengthWhite noise contribution for irregularity. 0 = pure sine waves, higher = more randomized.

Surface Interaction / Terrain Response

SettingDescription
Enable Concavity ResistanceDetect terrain concavities and steer roots along contour lines
Concavity Resistance StrengthStrength of lateral steering away from concavity traps.
Concavity Detection ThresholdConcavity level required before anti-piling steering engages.
Enable Adaptive Downward BiasReduce downward bias when root has been consistently descending
Adaptive Descent LookbackHistory window length used to detect sustained downward motion.
Adaptive Min Bias MultiplierMinimum fraction of base downward bias retained after adaptive reduction.
Enable Dip EscapeDetect when root is trapped at terrain minimum and force lateral escape
Dip Escape LookbackHistory window used to determine when the tip is trapped in a dip.
Dip Escape Z Threshold MultiplierVertical change threshold (relative to radius) used to classify dip trapping.
Dip Escape Max Up Angle DegMaximum upward steering angle allowed while executing dip escape.
Dip Escape Lateral StrengthLateral steering strength applied during dip escape maneuvers.

Branching / Validation

SettingDescription
Enable Child Orientation Sanity ValidationValidate child branch orientation against sampled surface normals before accepting the branch.
Child Orientation Validation Min SamplesMinimum number of orientation-validation samples taken along each child spline.
Child Orientation Validation Max SamplesMaximum number of orientation-validation samples taken along each child spline.
Child Orientation Validation Reject FractionReject child spline when the fraction of failed orientation samples exceeds this threshold.
Child Orientation Up Surface Min DotA sample is considered suspicious when abs(dot(Frame.Up, SupportNormal)) is below this threshold.
Child Orientation Right Surface Max DotA sample is considered suspicious when abs(dot(Frame.Right, SupportNormal)) is above this threshold.

Simulation / Path Stability

SettingDescription
Enable Anti Double BackPrevent roots from doubling back or coiling
Max Turn Angle Per Segment DegMaximum allowed turn angle per segment before anti-coiling correction triggers.
Min Forward Progress DotMinimum forward progress dot-product required to consider movement valid.
Terminate On Angle ViolationTerminate a branch if repeated angle violations occur.
Min Segments Before TerminationMinimum generated segments required before angle-violation termination is allowed.
Post Crawl Angle ValidationRun angle validation again after surface crawl adjustments.
Post Crawl Angle Leniency MultiplierExtra leniency multiplier for post-crawl angle validation.
Angle Check Smoothing WindowSmoothing window size used when evaluating recent turn angles.

Surface Interaction / Climbing

SettingDescription
Enable Surface ClimbingAllow roots to crawl up vertical and overhanging surfaces
Climbing Surface ThresholdMinimum surface steepness needed to switch into climbing behavior.
Max Climb Height Above StartMaximum climb height above the branch start in centimeters. Use -1 for unlimited.
Climb Top BehaviorWhat the climbing root does when it reaches a flatter top-out surface: Stop, Flow Over, or Spread at Top.
Top Detection ThresholdNormal threshold used to detect climbing top-out surfaces.
Root Climb Top Spread ScaleLateral spread after climbing reaches the top. Used when Climb Top Behavior is Spread at Top.
Climbing Max Upward Angle DegMaximum upward growth angle allowed while in climbing mode.

Surface Interaction / Climbing / Advanced

SettingDescription
Root Wall Climb Vertical BiasRoot-style ascent strength while crawling on wall-like surfaces.
Root Wall Approach BiasBias toward the nearest vertical surface while a horizontal root is still approaching a wall.
Root Wall Lookahead DistanceForward sphere-sweep distance used to detect a wall directly ahead.
Root Wall Lookahead StrengthStrength of the steering bias applied when wall lookahead finds support.
Root Wall Lateral AttenuationLateral spread multiplier while climbing walls.
Root Wall Meander AttenuationMeander multiplier while climbing walls.
Root Wall Seeking BiasBias toward nearby walls during root climbing.
Root Wall Seeking Search RadiusSearch radius used to find nearby wall-like support for climbing guidance.
Root Floor Phase Wall Seek SegmentsNumber of early flat-surface segments allowed to steer toward walls before full wall contact.
Root Floor Phase Wall Seek StrengthSteering strength for early floor-phase wall seeking in the Climbing profile.

Animation

SettingDescription
Bake Growth Animation DataBake Growth Animation data into UV3 for use with Flow-Aligned material
Runtime Export QualityControls authored-frame sample density in runtime export data. Full keeps all authored samples.
Runtime Animation MethodAnimation method assigned to newly exported Runtime Growth Actors. VAT is the default when baking is enabled; Material / Shader is also available.
Bake Vertex Animation TextureBake optimized VAT textures during runtime export. Required when Runtime Animation Method is Vertex Animation Texture.
VAT QualityFrame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom.
VAT Custom Frame CountCustom VAT frame count used only when VAT Quality is set to Custom.
VAT Max Texture WidthMaximum width of the baked VAT texture. Larger widths reduce texture height but may not suit every target platform.
Animated Normals (Unavailable)Retained compatibility field. Animated-normal baking is currently unavailable.
Bake Reveal AlphaPack the growth-frontier reveal alpha into the VAT position texture alpha channel.
VAT Reveal FeatherTimeline feather used when baking reveal alpha around the growth frontier.
VAT Mesh Decimation ToleranceError-bounded simplification for the exported VAT mesh, expressed as a fraction of local branch radius.
Parent Growth FractionFraction of the [0,1] timeline allocated to the parent root growing. The remaining time is split among child tiers.
Primary Growth FractionFraction of the [0,1] timeline allocated to primary branches growing.
Secondary Growth FractionFraction of the [0,1] timeline allocated to secondary branches growing.
Tertiary Growth FractionFraction of the [0,1] timeline allocated to tertiary branches growing. Computed as remainder if 0.

Editor

SettingDescription
Auto Rebuild In EditorAutomatically regenerate roots in the editor when settings change.
Hide Disabled SettingsHides all settings that can only be modified when expert mode is enabled.
Auto Rebuild Debounce SecondsDelay in seconds before auto-rebuild triggers after an editable change.
Draw Debug FramesDraw debug frames/axes along generated spline points in the editor viewport.
Draw Rejected Child ValidationDraw red reject markers and labels for child splines rejected by branch validation.
Draw Debug Shading FlowDraw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache.
Shading Flow Debug Label StrideLabel stride for shading-flow debug text. Lower values draw more labels.

Editor / Logging

SettingDescription
Enable Generation LoggingMaster toggle for generation logging. When disabled, all per-log toggles are ignored.
Log Generation StatsLog high-level generation statistics after each build.
Log Spline Creation DetailsLog detailed per-segment generation decisions. Very verbose.
Log Mesh Generation DetailsLog mesh-generation stage details, including attach/weld diagnostics and per-stage timing.
Log Generation QC DetailsLog post-mesh quality-control diagnostics (QC pass warnings).

Editor / Debug

SettingDescription
Debug Disable All Shape SettingsDisable taper, thickness variation, junction bulging, and surface-ring shaping while debugging.
Debug Use Base Taper Only For RadiusUse only the base taper curve when calculating radius.
Debug Hard Bypass Ring Phase ContinuityDisable ring phase continuity and use a simple cylindrical UV1 wrap.
Debug Log Ring Continuity ScalarsLog ring-continuity values for one representative spline per tier.
Debug Log Step Point PipelineLog representative point-generation stages for each generated tier.
Debug Disable Append Turn ClampDisable the final per-point turn clamp.
Debug Disable Segment Hard Cap ClampDisable the segment hard-cap clamp and termination check.
Debug Disable Edge Rounding Point InsertionDisable edge-rounding point insertion while keeping edge detection active.
Debug Disable Wall Traversal Point InsertionDisable wall-traversal point insertion while keeping detection active.
Debug Disable Per Step Surface Offset AdjustmentDisable per-step surface offset adjustment.
Debug Disable Start Surface SnapDisable initial surface acquisition and crawl start snap.
Debug Disable Direction ComputationDisable per-step direction recomputation.
Debug Disable Organic Candidate Direction BlendDisable organic direction blending while debugging.
Debug Disable Airborne Gravity BiasDisable airborne gravity bias on the desired direction.
Debug Disable Collision Avoidance DeflectionDisable collision-avoidance deflection.
Debug Disable Pre Crawl Anti Double BackDisable the pre-crawl double-back check.
Debug Disable Post Crawl Anti Double BackDisable post-crawl double-back checks.
Debug Disable Non Crawl Surface SnapDisable non-crawl surface snap traces.
Debug Disable Crawl Edge SeekingDisable crawl edge-seeking bias.
Debug Disable Concavity ResistanceDisable concavity-resistance adjustments.
Debug Disable Forward Edge DetectionDisable forward edge and lip detection.
Debug Disable Wall Traversal DetectionDisable wall traversal handling while leaving other miss handling active.
Debug Disable Surface ReacquireDisable surface reacquire after crawl misses.
Debug Disable Air Snap RecoveryDisable air-snap recovery after crawl miss or penetration events.
Debug Disable Airborne Surface Validation SnapDisable airborne surface-validation snap.
Debug Disable Final Ground CheckDisable the final ground-check pass.
Debug Disable Spawn Density Anti PileDisable wall-base anti-pile checks.
Debug Disable Post Crawl Snap AdjustmentsDisable snap corrections after crawl steps.
Debug Disable Under Surface CorrectionDisable the final under-surface correction before append.
Debug Disable Pre Append Vertical LiftDisable the small pre-append vertical lift used by crawl points.
Debug Disable Parent Crossing Plane EnforcementDisable parent crossing-plane enforcement during growth.
Debug Disable Lip Stop Point InsertionDisable lip-stop point insertion while preserving lip detection.
Debug Disable Commit GuardDisable the final committed-point guard clamp.
Debug Disable Final Point SmoothingDisable final authored-point smoothing.
Debug Disable Final Point DeduplicationDisable final point deduplication.
Debug Disable Final Surface Conformance PassDisable final surface-conformance adjustment.
Debug Disable Single Point Kink RegularizationDisable final single-point kink cleanup.
Debug Disable Legacy Sharp Corner SmoothingDisable the older sharp-corner smoothing pass.
Debug Use UV0 For Tangent ComputationCompute mesh tangents from UV0 instead of UV1.
Debug Bypass Final Normals Tangents GenerationSkip final normal and tangent generation for preview debugging.
Use Legacy Preview Payload ModeUse the old preview payload path for debugging older assets.
Debug Disable Geometry Surface Ring FlatteningDisable surface-ring flattening while keeping ring construction active.
Debug Disable Geometry Ring Transition EasingDisable ring transition easing during mesh refinement.
Debug Disable Adaptive Ring ResamplingDisable adaptive ring resampling before mesh build.
Debug Disable Geometry Spike RepairDisable geometry spike repair during frame generation.
Debug Use Linearized Centerline For MeshingMesh from a temporary linearized centerline.
Debug Use Raw Central Difference Tangents For MeshingUse raw central-difference tangents for authored-path meshing.
Debug Disable Geometry History Averaging After RM FramesDisable ring-basis history averaging after frame generation.
Debug Disable Curvature Weighted Distance RedistributionDisable curvature-weighted distance redistribution before meshing.
Debug Disable Tiny Step SuppressionDisable tiny-step suppression before meshing.
Debug Disable Neighbor Tangent RecomputeDisable tangent recompute from neighboring points.
Debug Disable Late Pass PruningDisable late-pass child pruning before final meshing.

Cave / Underground Root Setup

  1. Place a Root actor inside the cave, just below the roof, with its usual up direction pointing toward the ceiling. The cave surfaces need query collision that blocks the configured trace channel.
  2. Select Growth Type: Cave / Underground and click Generate Paths + Mesh.
  3. Enable Expert Mode and tune Simulation > Organic Behavior > Cave / Underground.
  4. Set parent/child lengths for the cave dimensions. Unsupported boundaries terminate growth rather than jumping to a remote face.
ControlUse
Ceiling Traverse DistanceControls how long the ceiling path travels before nearby forward walls can steer it toward descent. It does not create a wall at that distance.
Wall Descent StrengthSteers the path downward once it reaches a wall.
Lateral Weave StrengthAdds gradual sideways variation during supported descent.
Interior Search RadiusControls nearby-wall support searches.
Floor Runner ChanceChance for eligible secondary/finer roots to continue across the floor. Main trunks terminate there.
Re Burrow StrengthControls the short floor embed at a terminating root.
This mode does not start on terrain above a cave and drill through solid ground. The old serialized name Burrowing remains for compatibility; the visible mode is Cave / Underground.

Vine Actor Reference

The Vine Actor authors climbing, wrapping and hanging vine systems. It follows the Root Actor workflow, with vine-specific support, top behavior, and wrap controls.

Climbing vines stay surface-adhered and climb upward. Wrapping vines orbit support geometry, commit around corners, and keep visible contact tight. Hanging vines grow from supported undersides or ledges into hanging spans.

Main Actions

SettingDescription
Generate Paths + MeshBuild all generated content from the current settings.
Refresh MeshRegenerate the generated mesh from existing spline points.
Export Static MeshGenerates a static mesh actor from the current generated mesh.
Export Runtime ActorExport spline data to a runtime growth actor for growth playback.
Open DocumentationOpen the Procedural Vine Generator documentation.
Reset to DefaultsResets all settings to their default values
Overwrite Preset From Current SettingsSelect an existing preset row and replace it with the current actor settings. If the preset table is missing, it will be created first.

Components

SettingDescription
RootRoot scene component for the vine generator actor (Read-only, Blueprint read-only)
Parent Vine SplineGuide spline used as the parent path for vine generation (Read-only, Blueprint read-only)
Generated Mesh ComponentPrimary dynamic mesh component that displays generated vine geometry (Read-only, Blueprint read-only)
Placement Preview BillboardBillboard used to preview placement/orientation in the editor (Read-only, Blueprint read-only)
Primary ContainerScene component parent for generated primary branch splines (Read-only, Blueprint read-only)
Parent ContainerScene component parent for generated synthetic parent splines (Read-only, Blueprint read-only)
Secondary ContainerScene component parent for generated secondary branch splines (Read-only, Blueprint read-only)
Tertiary ContainerScene component parent for generated tertiary branch splines (Read-only, Blueprint read-only)

General

SettingDescription
PresetSelect a preset row from DT_VinePresets. Includes custom presets created with New.
Growth TypeEnabled vine growth behavior. Climbing favors upward supported growth; Wrapping follows and orbits support geometry; Hanging starts at a supported underside/ledge and descends into free spans.
Expert ModeShow advanced/expert controls throughout the vine generator details panel.
Use External SplineUse a spline from another actor as the parent vine path instead of the built-in spline
External Spline ActorThe actor containing the spline component to use as the parent vine
External Spline ComponentThe specific spline component from the external actor to use

General / Presets

SettingDescription
Vine Presets TableDataTable containing vine presets (row type: FVinePresetData)
Apply Preset On ChangeAutomatically apply preset values when the preset selection changes
Auto Set Preset To Custom On EditAutomatically set preset to 'Custom' when any parameter is manually edited

General / Advanced

SettingDescription
Preview ModeChoose which vine hierarchy levels to preview: None, Parent only, Parent + Primary, or All.
Random SeedSeed for random number generation. Change this to get different vine patterns
Advance Seed On Build NowIf enabled, each Build Now uses RandomSeed plus a transient build counter to reroll topology without mutating RandomSeed.
Last Build Seed UsedDebug/readback of the exact seed used by the most recent Build Now invocation.
Master ScaleGlobal scale multiplier for the entire vine system
Min Generated RadiusMinimum radius threshold. Vines thinner than this will not be generated

Mesh

SettingDescription
Vine MaterialMaterial to apply to the generated vine mesh

Mesh / Nanite

SettingDescription
Enable NaniteEnable Nanite virtualized geometry

Mesh / Tube

SettingDescription
Tube Radial SegmentsNumber of radial subdivisions around the vine tube
Tube Axial SubdivisionsMultiplier for axial sample density along each vine segment (1 = baseline)
Cap Tube EndsClose the ends of vine tubes with cap geometry
Tube End Cap TaperHow much to taper/narrow the end caps
Tube Terminal Taper Length ScaleLength scale of the terminal taper stub ring appended before each non-welded cap.
Tube Terminal Taper Radius ScaleRadius scale of the terminal taper stub ring appended before each non-welded cap.

Mesh / Smoothing

SettingDescription
Smoothing TypeType of mesh smoothing algorithm to apply
Enable Single Point Kink RegularizationRun a local point-chain regularization pass before spline assembly to target single-point kinks (smooth/merge/average) without global smoothing.
Smoothing IterationsNumber of smoothing passes to apply
Smoothing StrengthStrength of the smoothing effect
Smooth Boundary VerticesApply smoothing to vertices on mesh boundaries
Preserve Junction VerticesProtect vertices at branch junctions from smoothing

Mesh / Welding

SettingDescription
Weld Branch JunctionsMerge vertices at branch connection points
Weld Coincident EdgesWeld vertices that lie on the same edge

Mesh / Welding / Advanced

SettingDescription
Weld ToleranceDistance threshold for welding vertices at junctions
Edge Weld ToleranceDistance threshold for welding coincident edge vertices

Mesh / Static Mesh Export / Collision

SettingDescription
Generate CollisionGenerate convex hull collision geometry for the exported Static Mesh.
Hull CountTarget number of convex hull pieces when generating collision for the exported static mesh.
Max Hull VertsMaximum vertex count allowed per generated convex hull. Higher values preserve more shape detail but cost more collision complexity.
Hull PrecisionPrecision used by convex decomposition. Higher values improve fit at higher generation cost.

Mesh / Static Mesh Export / Advanced

SettingDescription
Generated Asset FolderFolder path where generated static mesh assets will be saved

Mesh / Static Mesh Export

SettingDescription
Recenter Pivot To Bounds CenterMove the mesh pivot to the center of its bounding box
Place Static MeshPlace the generated static mesh into the level
Export ScopeSelects which spline scope is used for export and solo preview.
Export Tier SelectionTier used when export scope is set to Selected Tier.
Export Spline SelectionOptional single spline selection for export. 'All Splines' exports the full generated mesh.
Export Ancestor Chain As Combined AssetWhen exporting branch + ancestors, also produce one combined asset for the full chain.
Export Ancestor Chain As Separate AssetsWhen exporting branch + ancestors, also produce one separate asset per spline in the chain.
Preview Selected Export SplineIf enabled, selecting a single spline for export will also preview only that spline in the editor viewport.
Show Non Selected Splines In Solo PreviewWhen solo export preview is active, keep non-selected splines visible as thin editor debug splines.

Animation

SettingDescription
Runtime Export QualityControls authored-frame sample density in runtime export data. Full keeps all authored samples.
Bake Growth Animation DataBake Animation data into UV3 for runtime growth playback
Runtime Animation MethodAnimation method assigned to newly exported Runtime Growth Actors. VAT is the default when baking is enabled; Material / Shader is also available.
Bake Vertex Animation TextureBake VAT data during runtime export.
VAT QualityFrame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom.
VAT Custom Frame CountCustom VAT frame count used only when VAT Quality is set to Custom.
VAT Max Texture WidthMaximum width of the baked VAT texture. Vertices exceeding this width wrap into additional rows.
Animated Normals (Unavailable)Retained compatibility field. Animated-normal baking is currently unavailable.
Bake Reveal AlphaPack reveal alpha into the VAT alpha channel.
VAT Reveal FeatherTimeline feather used when baking reveal alpha around the growth frontier.
VAT Mesh Decimation ToleranceError-bounded simplification for the exported VAT mesh, expressed as a fraction of local branch radius.
Parent Growth FractionFraction of the [0,1] timeline allocated to parent/guide vine growth.
Primary Growth FractionFraction of the [0,1] timeline allocated to primary branches growing.
Secondary Growth FractionFraction of the [0,1] timeline allocated to secondary branches growing.
Tertiary Growth FractionFraction of the [0,1] timeline allocated to tertiary branches growing. Computed as remainder if 0.

Mesh / Interior Face Removal

SettingDescription
Remove Interior FacesRemove mesh triangles whose centroids are inside another vine's tube volume

Mesh / Interior Face Removal / Advanced

SettingDescription
Interior Removal ModeRemoveAll: remove any face inside another tube. RemoveSmaller: only remove from the thinner vine
Interior Test Radius ScaleScale factor for the containment test radius
Preserve Junction FacesPreserve faces near branch junction points
Junction Preserve Radius MultiplierRadius around junction points within which faces are preserved
Interior Test Sample SpacingSpacing between centerline samples used for containment testing
Junction Start Exclusion FractionFraction of child spline length from start where faces are never removed

Branching / Parent

SettingDescription
Vine Base ThicknessStarting thickness/radius of the Parent vine at its base
Parent CountNumber of generated parent splines.
Parent LengthTarget length (cm) of each generated parent spline.
Parent ThicknessStarting thickness/radius of generated parent splines.
Parent Spread Angle DegAngular spread used when distributing parent launch directions around the guide hub.
Parent Target Segment LengthTarget segment length (cm) for generated parent splines.
Parent Spline Smoothing PassesSmoothing passes applied to generated parent splines.
Parent Launch Stub LengthSoft-start length (cm) near the guide hub.
Parent Min Angular Separation DegMinimum angular separation between parent launch directions.
Parents Use Surface ProjectionProject generated parents toward nearby support surfaces.
Parents Participate In AvoidanceInclude generated parents in avoidance checks.
Min Segment FractionMinimum fraction of each branch length that must be represented by crawl/generation segments.

Branching / Parent / Advanced

SettingDescription
Wall Child Spawn ProbabilityProbability that a child branch spawns when the parent vine is on a wall surface.
Transition Zone LookaheadDistance in centimeters used to evaluate dominant surface context near flat-to-wall transitions.
Transition Detection ThresholdDot threshold used to detect a surface transition zone between adjacent samples.

Branching / Anchor

SettingDescription
Enable Anchor BranchesGenerate short contact anchors from climbing or wrapping vine parents. These give the vine small visible holdfasts without replacing the main child-branch tiers.
Anchor Spacing CmAverage distance between anchor attempts along the parent vine.
Anchor Spacing JitterRandomized spacing variation so anchors do not land on a perfectly regular interval.
Anchor LengthTarget length of generated vine anchors.
Anchor Length VariationPer-anchor random length variation.
Anchor Start Radius FracAnchor base radius as a fraction of the parent radius at the spawn point.
Anchor TaperRadius falloff from anchor base to tip.
Anchor Tip Taper MultiplierExtra tip thinning applied at the end of the anchor.
Anchor Min Surface VerticalityMinimum support steepness needed before vine anchors can be placed.
Anchor Spread Cone DegCone angle used when choosing anchor directions around the support normal.
Anchor Surface Hug StrengthHow strongly each anchor bends back toward the contacted surface.
Anchor Target Segment LengthPreferred segment length for generated anchor splines.
Anchor Burial Depth FracSmall inward offset used to seat anchors into the support instead of leaving them visibly floating.

Branching / Anchor / Fiber

SettingDescription
Fibers Per AnchorNumber of fine fiber splines that can be generated from each vine anchor.
Fiber LengthTarget length for the fine anchor fibers.
Fiber Length VariationPer-fiber length randomization.
Fiber Start Radius FracFiber base radius as a fraction of the anchor radius.
Fiber TaperRadius falloff along each fiber.
Fiber Spread Cone DegSpread cone used when distributing fibers around the anchor contact point.
Fiber Surface Hug StrengthHow strongly fibers conform toward the support surface.

Branching / Children

SettingDescription
Reject Backward Child BranchesReject child-branch candidates that turn back against the parent direction strongly enough to read as a reversal.

Branching / Dynamic Length

SettingDescription
Enable Dynamic Branch LengthLet branch length respond to the top-transition/drape context instead of using only fixed tier lengths.
Dynamic Drape Top Travel Parent CmAdditional travel budget available to parent vines during drape-over-top motion.
Dynamic Drape Top Travel Primary CmAdditional travel budget for primary branches near top drape transitions.
Dynamic Drape Top Travel Secondary CmAdditional travel budget for secondary branches near top drape transitions.
Dynamic Drape Top Travel Tertiary CmAdditional travel budget for tertiary branches near top drape transitions.

Branching / Primary

SettingDescription
Enable PrimaryEnable generation of primary vine branches
Primary per ParentNumber of primary branches generated per parent spline.
Primary LengthLength of primary vine branches.
Primary ThicknessBase radius at the start of each primary vine branch.

Branching / Primary / Legacy

SettingDescription
Primary DensityDeprecated legacy primary density control kept for backward compatibility.

Branching / Primary / Advanced

SettingDescription
Primary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point.
Primary TaperRate at which primary vine branches thin from base to tip.
Primary Tip Taper MultiplierAdditional taper multiplier applied near the primary vine branch tip.
Primary Target Segment LengthTarget segment length for primary vine branch mesh generation.
Primary Meander StrengthRandom meander strength for primary vine branch paths.
Primary Direction PreferenceHow strongly primary vine branches keep their initial launch direction.
Primary Spline Smoothing PassesSmoothing passes applied to generated primary vine spline paths.
Primary Length VariationRandom length variation for primary branches as a normalized fraction of base length.
Primary Thickness Variation MinMinimum multiplicative thickness variation for primary branches.
Primary Thickness Variation MaxMaximum multiplicative thickness variation for primary branches.
Primary Taper Variation MinMinimum taper variation multiplier for primary branches.
Primary Taper Variation MaxMaximum taper variation multiplier for primary branches.

Branching / Secondary

SettingDescription
Enable SecondaryEnable generation of secondary vine branches.
Secondary Per PrimaryNumber of secondary branches to attempt per primary branch.
Secondary LengthLength of secondary vine branches.
Secondary ThicknessBase radius at the start of each secondary vine branch.

Branching / Secondary / Advanced

SettingDescription
Secondary Spread Angle DegMaximum spread angle in degrees from the parent direction.
Secondary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point.
Secondary TaperRate at which secondary branches taper from base to tip.
Secondary Tip Taper MultiplierAdditional taper multiplier near the secondary branch tip.
Secondary Target Segment LengthTarget segment length for secondary branch mesh generation.
Secondary Meander StrengthRandom meander strength for secondary branch paths.
Secondary Direction PreferenceHow strongly secondary branches keep their initial launch direction.
Secondary Spline Smoothing PassesSmoothing passes applied to generated secondary spline paths.
Secondary Length VariationRandom length variation for secondary branches as a normalized fraction of base length.
Min Angle Between Consecutive SecondaryMinimum angle in degrees between consecutive secondary branch launch directions around the same parent.
Secondary Thickness Variation MinMinimum multiplicative thickness variation for secondary branches.
Secondary Thickness Variation MaxMaximum multiplicative thickness variation for secondary branches.
Secondary Taper Variation MinMinimum taper variation multiplier for secondary branches.
Secondary Taper Variation MaxMaximum taper variation multiplier for secondary branches.

Branching / Tertiary

SettingDescription
Enable TertiaryEnable generation of tertiary vine branches.
Tertiary Per SecondaryNumber of tertiary branches to attempt per secondary branch.
Tertiary LengthLength of tertiary vine branches.
Tertiary ThicknessBase radius at the start of each tertiary vine branch.

Branching / Tertiary / Advanced

SettingDescription
Tertiary Spread Angle DegMaximum spread angle in degrees from the parent direction.
Tertiary Max Child Radius FracMaximum child radius as a fraction of the parent radius at the spawn point.
Tertiary TaperRate at which tertiary branches taper from base to tip.
Tertiary Tip Taper MultiplierAdditional taper multiplier near the tertiary branch tip.
Tertiary Target Segment LengthTarget segment length for tertiary branch mesh generation.
Tertiary Meander StrengthRandom meander strength for tertiary branch paths.
Tertiary Direction PreferenceHow strongly tertiary branches keep their initial launch direction.
Tertiary Spline Smoothing PassesSmoothing passes applied to generated tertiary spline paths.
Tertiary Length VariationRandom length variation for tertiary branches as a normalized fraction of base length.
Min Angle Between Consecutive TertiaryMinimum angle in degrees between consecutive tertiary branch launch directions around the same parent.
Tertiary Thickness Variation MinMinimum multiplicative thickness variation for tertiary branches.
Tertiary Thickness Variation MaxMaximum multiplicative thickness variation for tertiary branches.
Tertiary Taper Variation MinMinimum taper variation multiplier for tertiary branches.
Tertiary Taper Variation MaxMaximum taper variation multiplier for tertiary branches.

Shape

SettingDescription
Enable VariationEnable random variation in branch thickness and taper
Variation StrengthGlobal strength multiplier for all variation effects

Shape / Advanced / Thickness

SettingDescription
Enable Organic Thickness VariationAdd procedural noise-based thickness variations
Organic Thickness Noise StrengthStrength of procedural noise-based thickness variation along vines.
Organic Thickness Noise FrequencyFrequency of procedural noise used for thickness variation.
Use Advanced Taper CurveUse a power curve for taper instead of linear interpolation.
Taper Curve PowerExponent used by the advanced taper curve. Higher values keep vines thicker for longer.
Use Length Based ThickeningScale thickness based on branch length.
Length Thickness ScaleStrength of length-based thickness scaling.

Shape / Flow

SettingDescription
Enable Hierarchical Flow InheritanceUse a dedicated shading/UV flow frame and parent-attachment inheritance for bark continuity.
Junction Flow Blend Distance CmDistance from a child branch start over which shading orientation/phase eases from parent-aligned values into local branch values.
Shading Flow History WindowHistory window used only by the shading frame. Larger values produce calmer bark/grain flow.
Shading Flow Max Forward Delta DegMaximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots.
Shading Flow Max Seam Delta DegMaximum seam-phase rotation per ring in degrees for the shading frame.
Shading Flow Surface Blend StrengthSupport-normal blend strength for shading frame orientation. Keep low for stable bark flow.
Use Absolute Tree Flow UVEncode UV1.y as absolute accumulated distance across the parent-child vine hierarchy instead of restarting per branch.
Curvature Adaptive ThresholdCurvature-adaptive sampling threshold used for authored frame and ring placement. Lower values increase samples in curved areas.

Surface Interaction / Surface Seeking / Tracing

SettingDescription
Trace ChannelCollision channel for surface tracing
Use Secondary Trace ChannelUse a secondary trace channel when the primary trace misses.
Secondary Trace ChannelSecondary collision trace channel used when the primary trace does not hit
Trace ComplexUse complex collision for surface tracing
Trace DistanceMaximum trace distance in centimeters used to find surfaces during crawling.
Surface Seek RadiusRadius to search for nearby surfaces
Surface OffsetOffset from the surface to place spline - This is applied uniformly across all the points regardless of tube radius
Use Radius-Adaptive OffsetApply a radius-adaptive offset at each point to maintain consistent burial depth.
Surface Burial Depth (cm)Surface burial depth offset in centimeters when radius-adaptive offset is enabled.

Surface Interaction / Wall Climbing / Advanced

SettingDescription
Wall Climb Vertical BiasBalance between vertical climbing and lateral spreading on wall surfaces.
Wall Lateral AttenuationMultiplier for lateral spread on wall surfaces. Lower values suppress sideways drift.
Wall Meander AttenuationMultiplier for meander strength while vines are on wall surfaces.
Wall Seeking BiasBias toward nearby walls when launching growth from flat surfaces.
Wall Seeking Search RadiusMaximum wall-search distance used when biasing vine spawn direction toward walls.
Floor Phase Wall Seek SegmentsNumber of early flat-surface segments that actively steer toward the nearest wall.
Floor Phase Wall Seek StrengthSteering strength for floor-phase wall seeking.

Surface Interaction / Edge Handling

SettingDescription
Enable Edge RoundingInsert an edge-rounding point on sharp surface transitions so vines wrap around corners instead of cutting through them.

Surface Interaction / Edge Handling / Advanced

SettingDescription
Edge Detection ThresholdNormal-delta threshold used to detect an edge transition between crawl steps. Lower values detect gentler edges.
Edge Search IterationsBinary search iterations used to locate the edge point more precisely.
Edge Rounding Bisector ScaleScale applied to bisector displacement when placing rounded edge points.

Surface Interaction / Anti-Double-Back

SettingDescription
Enable Anti Double BackPrevent vines from reversing direction or looping back on themselves during crawl growth.
Anti Double Back Max Turn Angle DegMaximum turn angle in degrees allowed per segment before anti-double-back logic intervenes.
Anti Double Back Min Progress DotMinimum forward progress dot threshold for anti-double-back validation.
Anti Double Back Terminate On ViolationTerminate spline generation when anti-double-back rules are violated instead of clamping direction.
Anti Double Back Min Segments Before TerminationMinimum number of segments that must be generated before termination-on-violation can occur.
Anti Double Back Smoothing WindowWindow size used to smooth direction history for anti-double-back checks.
Anti Double Back Post Crawl ValidationRun anti-double-back validation after crawl adjustments as an additional safety check.
Anti Double Back Post Crawl LeniencyLeniency multiplier applied to post-crawl anti-double-back validation.

Surface Interaction / Self-Avoidance

SettingDescription
Enable Self Avoidance During GrowthEnable self-avoidance steering so vines deflect away from their earlier segments.
Self Avoidance RadiusRadius multiplier used when testing proximity to previous segments for self-avoidance.
Self Avoidance StrengthStrength of self-avoidance steering force applied during growth.

Surface Interaction / Surface Crawling / Advanced

SettingDescription
Crawl Sphere Radius MultiplierMultiplier for the crawl sphere radius relative to vine thickness
Max Crawl Iterations Per StepMaximum crawl iterations per growth step
Use Separate Query OffsetUse a separate query offset for crawl sweeps
Crawl Query OffsetOffset distance for crawl query sweeps
Use Curvature-Aware CrawlingShortens crawl step size as the surface normal changes more sharply, producing rounder wall/ledge transitions on faceted collision.
Curvature Crawl Min Step ScaleMinimum crawl step scale used on high-curvature transitions. Lower values hug corners more tightly.
Curvature Normal BlendBlend factor used when interpolating normal estimates for curvature-aware crawling.
Curvature Normal Sample Radius ScaleProbe radius scale used when sampling nearby normals for curvature-aware crawling.
Curvature Normal Samples Per SideNumber of normal probes sampled per side for curvature-aware interpolation.

Simulation

SettingDescription
Upward BiasBias toward upward growth. Higher values make vines climb more aggressively
Max Upward Angle DegMaximum upward angle vines can grow
Max Climb HeightMaximum climb height above start point. -1 = unlimited
Top BehaviorBehavior when a vine reaches the top of a surface
Top Detection ThresholdThreshold for detecting top surfaces (dot product with up vector)
Tip Droop StrengthStrength of downward droop near vine tips
Droop Start FractionFraction along vine length where droop begins
Lateral SpreadAmount of lateral spread/wandering
Vine Meander StrengthStrength of random meandering in vine paths
Stagnation LookbackIf the vine hasn't moved more than StagnationDistanceThreshold in this many consecutive segments, terminate or attempt to climb over
Stagnation Distance ThresholdMinimum distance the vine must travel over StagnationLookback segments. If less, the vine is considered stagnant. 0 = auto (based on step size)
Max Climb Over AttemptsNumber of attempts to climb over an obstacle before terminating

Shape / Junctions

SettingDescription
Enable Junction BulgingAdd thickness bulges at branch junctions
Junction Bulge StrengthRadius multiplier at branch junctions. 1.0 = no bulge, 1.2 = subtle, 1.5 = pronounced.
Junction Bulge DistanceFalloff distance for junction bulge, as a multiplier of the local radius. Higher = wider bulge zone.

Simulation / Avoidance Behavior

SettingDescription
Enable AvoidancePrevent vines from growing too close to each other
Avoidance RadiusDistance multiplier used for inter-vine avoidance checks.
Avoidance StrengthStrength of directional deflection applied by inter-vine avoidance.

Surface Interaction / Off-Surface / Aerial Growth

SettingDescription
Allow Aerial GrowthAllow vines to continue growing when no surface is found
Max Aerial SegmentsMaximum consecutive segments without surface contact

Surface Interaction / Surface Wrap-Around

SettingDescription
Allow Surface Wrap AroundAllow vines to wrap around convex surfaces instead of stopping at the top
Wrap Around SmoothnessSmoothness threshold for wrap-around detection. Higher = more permissive wrapping
Wrap Orbit StrengthStrength of circumferential orbit intent while wrapping around support geometry.
Wrap Inward AdherenceHow strongly wrapping pulls inward toward the detected support during orbit.
Wrap Forward CarryForward carry blended into orbit movement to prevent static looping.
Wrap Support Search RadiusMultiplier for support-frame search radius relative to current crawl seek radius.
Wrap Desired Coverage TurnsDesired number of turns to cover before reducing strict orbit dominance.
Wrap Corner Commit StrengthHow strongly wrapping commits across convex support transitions and edge turns.
Use Wrapping Topology OverridesApply wrapping-only runtime topology and contact overrides without changing stored preset values.
Wrap Parent Count ScaleScale generated parent count in wrapping mode.
Wrap Primary Count ScaleRuntime scale for primary child count in wrapping mode.
Wrap Secondary Count ScaleRuntime scale for secondary child count in wrapping mode.
Wrap Target Segment Length ScaleRuntime scale for parent/primary/secondary target segment length in wrapping mode.
Wrap Meander ScaleRuntime meander scale in wrapping mode to keep wraps tighter.
Wrap Surface Burial Depth OverrideWrapping-only runtime burial-depth target when burial override is active.
Wrap Disable Burial DepthWhen enabled, wrapping forces effective burial depth to zero for tighter visible support contact.
Wrap Crawl Radius ScaleRuntime scale for crawl/support search radius in wrapping mode.
Wrap Extra Edge Search IterationsAdditional edge-search refinement iterations for wrapping mode.

Branching / Spawn Spacing / Crowding

SettingDescription
Enable Spawn Density CheckCheck density at spawn locations and skip branches in crowded areas
Spawn Density Radius MultiplierRadius multiplier used when counting nearby splines to determine crowding.
Spawn Density Max CountMaximum nearby spline count allowed at a spawn location before the spawn is skipped.

Branching / Validation

SettingDescription
Enable Child Orientation Sanity ValidationValidate child branch orientation against sampled support normals before accepting the branch.
Child Orientation Validation Min SamplesMinimum number of orientation-validation samples taken along each child spline.
Child Orientation Validation Max SamplesMaximum number of orientation-validation samples taken along each child spline.
Child Orientation Validation Reject FractionReject child spline when the fraction of failed orientation samples exceeds this threshold.
Child Orientation Up Surface Min DotA sample is considered suspicious when abs(dot(Frame.Up, SupportNormal)) is below this threshold.
Child Orientation Right Surface Max DotA sample is considered suspicious when abs(dot(Frame.Right, SupportNormal)) is above this threshold.

Editor

SettingDescription
Auto Rebuild In EditorAutomatically regenerate vines in the editor when settings change.
Hide Disabled SettingsHides all settings that can only be modified when expert mode is enabled.
Auto Rebuild Debounce SecondsDelay in seconds before auto-rebuild triggers after an editable change.
Draw Debug FramesDraw debug frames/axes along generated spline points in the editor viewport.
Draw Debug Shading FlowDraw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache.
Shading Flow Debug Label StrideLabel stride for shading-flow debug text. Lower values draw more labels.

Editor / Logging

SettingDescription
Log Generation StatsLog high-level generation statistics after each build.
Log Spline Creation DetailsLog detailed per-segment generation decisions. Very verbose.

Editor / Debug

SettingDescription
Debug Use Linearized Centerline For MeshingMesh from a temporary linearized centerline.
Debug Use Base Taper Only For RadiusUse only the base taper curve when calculating radius.
Debug Hard Bypass Ring Phase ContinuityDisable ring phase continuity and use a simple cylindrical UV1 wrap.
Debug Use UV0 For Tangent ComputationCompute mesh tangents from UV0 instead of UV1.
Debug Bypass Final Normals Tangents GenerationSkip final normal and tangent generation for preview debugging.
Use Legacy Preview Payload ModeUse the old preview payload path for debugging older assets.
Debug Disable Append Turn ClampDisable the final per-point turn clamp.
Debug Disable Segment Hard Cap ClampDisable the segment hard-cap clamp and termination check.
Debug Disable Final Vine Point SmoothingDisable final vine-point smoothing.
Debug Disable Final Vine Point DeduplicationDisable final vine-point deduplication.
Debug Disable Final Vine Surface Conformance PassDisable final vine surface-conformance adjustment.
Debug Disable Final Vine Kink RegularizationDisable final vine kink cleanup.
Debug Bypass Final Vine Authored QC RejectionBypass final authored-point rejection checks.
Debug Disable Late Pass PruningDisable late-pass child pruning.
Log Wrap DiagnosticsLog wrap runtime diagnostics including phase, confidence, orbit sign, and support reacquire/corner events.
Draw Wrap Support FramesDraw detected wrapping support frames (axis/normal/tangent) with phase color coding.

Surface Interaction / Attraction

SettingDescription
Attraction ActorsOptional attraction actors whose distributed points can pull generated vines toward them during growth.
Attraction StrengthHow strongly attraction points influence vine growth. 0 disables the system.
Attraction RadiusMaximum distance from an attraction point at which vines are influenced.

Surface Interaction / Attraction / Advanced

SettingDescription
Attraction Falloff ExponentFalloff exponent for attraction weighting. Higher values make the pull more localized.
Attraction Affects Guide SplineAllow attraction to influence the guide/parent vine during growth in addition to child tiers.

Hanging Vine Setup

  1. Place a Vine actor close to a ceiling underside, or on top of a ledge near its edge.
  2. Select Growth Type: Hanging and click Generate Paths + Mesh. Initial support must be within Hanging Initial Anchor Max Distance (default 60 cm).
  3. Set Internal Parent Length for the supported run plus the intended drop. The generic consecutive-aerial-segment limit is not the hanging-length control.
  4. Adjust Surface Interaction > Hanging, then rebuild. Keep the seed locked while comparing settings.
ControlUse
Hanging Anchor Traverse Distance / Edge Seek StrengthControls supported travel and the tendency to seek a ledge before release.
Hanging Span Gravity StrengthControls downward steering during a free span.
Hanging Lateral Swing StrengthAdds gradual lateral shape, rather than sharp alternating segments.
Hanging Underside PreferenceBiases support classification/reacquisition toward undersides.
Hanging Reattach Search Radius ScaleControls searches for nearby walls or floors while detached.
Hanging Initial Anchor Max DistanceLimits the initial support search. Missing support produces a warning instead of a floating start.

Use Hanging for underside starts. Climbing and Wrapping remain supported-surface workflows. Hanging generates a mature path with growth playback; it is not a live rope or wind simulation.

Barrier Actor Reference

The Barrier Actor generates strand-based organic barriers across openings.

Curtain, lattice, and organic seal patterns use primary strands, optional cross-links, and optional offshoot branches.

Main Actions

SettingDescription
Generate Paths + MeshBuild the generated mesh from the current settings.
Refresh MeshRegenerate the generated mesh from existing barrier spline points.
ClearClears all generated barrier splines and mesh.
Export Static MeshBake the selected export scope, including generated details, into a Static Mesh asset and place it in the level.
Export Runtime ActorExport barrier spline data to a runtime growth actor for seal and unseal playback.
Open DocumentationOpen the Procedural Barrier Generator documentation.

Components

SettingDescription
RootRoot scene component for the actor. (Read-only, Blueprint read-only)
Opening VolumeDefines the opening or region used by the barrier generator. (Read-only, Blueprint read-only)
Generated Mesh ComponentDisplays the generated result in-editor. (Read-only, Blueprint read-only)
Strands ContainerContainer for generated barrier strand splines. (Read-only, Blueprint read-only)

Components / Debug

SettingDescription
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. (Read-only, Blueprint read-only)

General

SettingDescription
PatternBarrier strand generation style. Curtain = mostly vertical, Lattice = adds lateral links, Organic = irregular web.
Anchor ModeWhere primary strands are anchored around the opening.
Endpoint ModeHow primary strands choose their targets in the opening.
Expert ModeShow advanced controls throughout the barrier details panel.

General / Advanced

SettingDescription
Random SeedRandom seed for deterministic barrier generation.

Opening

SettingDescription
Seal CoverageOverall blocked coverage. Lower values intentionally leave larger holes.

Opening / Advanced

SettingDescription
Gap NoiseRandomly perturbs strand spacing to create uneven openings and gaps.
Sag AmountDownward sag in cm applied to generated strands.
Strand NoiseRandom point jitter in cm for each generated strand point.

Generation

SettingDescription
Strand CountBase number of primary strands before coverage filtering.
Enable Strand BranchesAdd small organic offshoot strands from generated barrier strands.

Generation / Advanced

SettingDescription
Cross Link DensityControls how many cross-links connect nearby strands.
Target Segment LengthTarget spacing in cm between generated spline points.
Strand Branch DensityControls how many small offshoot branches are added to barrier strands.
Max Strand BranchesSafety cap for generated strand offshoot branches.
Strand Branch Spawn Min AlphaMinimum normalized parent spline position where offshoot branches can spawn.
Strand Branch Spawn Max AlphaMaximum normalized parent spline position where offshoot branches can spawn.

Shape

SettingDescription
Strand ThicknessStarting strand radius in cm.

Shape / Advanced

SettingDescription
Strand TaperPer-strand taper from base to tip.
Strand Tip Taper MultiplierAdditional taper multiplier at strand tips.
Cross Link Thickness ScaleThickness multiplier for cross-link strands relative to primaries.
Min Generated RadiusGlobal minimum radius clamp in cm.
Use Advanced Taper CurveEnable advanced taper curve shaping.
Taper Curve PowerPower for advanced taper shaping.
Enable Organic Thickness VariationEnable organic thickness variation along strands.
Organic Thickness Noise StrengthStrength of organic thickness noise.
Organic Thickness Noise FrequencyFrequency of organic thickness noise along strands.
Use Length Based ThickeningScale strand thickness based on strand length.
Length Thickness ScaleHow much longer strands thicken relative to shorter strands.
Enable Junction BulgingEnable localized bulging near authored junction distances.
Junction Bulge StrengthBulge multiplier around junction zones.
Junction Bulge DistanceDistance in normalized spline space over which bulging fades.
Strand Branch Length MinMinimum length in cm for generated offshoot branches.
Strand Branch Length MaxMaximum length in cm for generated offshoot branches.
Strand Branch Thickness ScaleThickness multiplier for offshoot branches relative to primary strand thickness.
Strand Branch TaperTaper from base to tip for offshoot branches.
Strand Branch Tip Taper MultiplierAdditional taper multiplier at the tip of offshoot branches.
Strand Branch Spread Angle DegSpread cone half-angle in degrees for offshoot direction selection.
Strand Branch DroopDownward droop in cm applied to offshoot branch tips.

Flow

SettingDescription
Enable Hierarchical Flow InheritanceUse a dedicated shading/UV flow frame and parent-attachment inheritance for strand continuity.
Use Absolute Tree Flow UVEncode UV1.y as absolute accumulated distance across the parent-child strand hierarchy instead of restarting per strand.

Flow / Advanced

SettingDescription
Junction Flow Blend Distance CmDistance from a child strand start over which shading orientation/phase eases from parent-aligned values into local strand values.
Shading Flow History WindowHistory window used only by the shading frame. Larger values produce calmer flow.
Shading Flow Max Forward Delta DegMaximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots.
Shading Flow Max Seam Delta DegMaximum seam-phase rotation per ring in degrees for the shading frame.
Shading Flow Surface Blend StrengthSupport-normal blend strength for shading frame orientation. Keep low for stable flow.
Curvature Adaptive ThresholdCurvature-adaptive sampling threshold used for authored frame and ring placement. Lower values increase samples in curved areas.

Mesh

SettingDescription
Barrier MaterialMaterial assigned to generated barrier mesh.

Mesh / Advanced

SettingDescription
Tube Radial SegmentsRadial subdivisions per tube ring.
Tube Axial SubdivisionsMultiplier for axial sample density per authored spline segment (1 = baseline).
Cap Tube EndsClose strand start/end with cap geometry.
Tube End Cap TaperTip cap taper amount.
Smoothing TypeOptional smoothing for generated barrier mesh.
Smoothing IterationsSmoothing iteration count.
Smoothing StrengthSmoothing strength.
Smooth Boundary VerticesAllow smoothing to move mesh boundary vertices.
Preserve Junction VerticesPreserve attachment/junction vertices during smoothing.

Animation

SettingDescription
Bake Growth Animation DataBake per-vertex growth timing into UV3 for runtime seal/unseal playback.
Runtime Export QualityControls authored-frame sample density in runtime export data. Full keeps all authored samples.
Runtime Animation MethodAnimation method assigned to newly exported Runtime Growth Actors.
Bake Vertex Animation TextureBake VAT data during runtime export.
VAT QualityFrame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom.
VAT Custom Frame CountCustom VAT frame count used only when VAT Quality is set to Custom.
VAT Max Texture WidthMaximum width of the baked VAT texture. Vertices exceeding this width wrap into additional rows.
Animated Normals (Unavailable)Retained compatibility field. Animated-normal baking is currently unavailable.
Bake Reveal AlphaPack reveal alpha into the VAT alpha channel.
VAT Reveal FeatherTimeline feather used when baking reveal alpha around the growth frontier.

Animation / Advanced

SettingDescription
Primary Growth FractionFraction of timeline allocated to primary strands.
Cross Link Growth FractionFraction of timeline allocated to cross-link strands.

Export

SettingDescription
Generated Asset FolderFolder path where generated growth data assets will be saved.
Export ScopeSelects which strand scope is used for runtime export.
Export Tier SelectionTier used when export scope is set to Selected Tier.
Export Spline SelectionOptional single strand selection for export. 'All Splines' exports the full generated barrier.
Export Ancestor Chain As Combined AssetWhen exporting branch + ancestors, also include one combined runtime export chain.
Export Ancestor Chain As Separate AssetsReserved for parity with root/vine export controls.

Editor

SettingDescription
Auto Rebuild In EditorAutomatically regenerate the barrier in the editor when settings change.
Auto Rebuild Debounce SecondsDelay in seconds before auto-rebuild triggers after an editable change.
Draw Debug FramesDraw debug frames/axes along generated spline points in the editor viewport.
Show Generated Strand Splines After BuildKeep generated strand splines visually emphasized after build for debugging.
Draw Debug Shading FlowDraw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache.
Shading Flow Debug Label StrideLabel stride for shading-flow debug text. Lower values draw more labels.

Editor / Logging

SettingDescription
Log Generation StatsLogs branch/mesh counts after each build.
Log Spline Creation DetailsLog detailed per-strand flow values during mesh generation. Very verbose.

Editor / Debug

SettingDescription
Debug Use Linearized Centerline For MeshingMesh from a temporary linearized centerline.
Debug Use Base Taper Only For RadiusUse only the base taper curve when calculating radius.
Debug Hard Bypass Ring Phase ContinuityDisable ring phase continuity and use a simple cylindrical UV1 wrap.
Debug Use UV0 For Tangent ComputationCompute mesh tangents from UV0 instead of UV1.

Bridge Actor Reference

Place BP_PRG_Bridge_Actor (PRG Organic Bridge). Move the four bank anchors: AL/AR are the left/right sides of End A; BL/BR are End B. Click Generate Bridge, then refine the sag, structural strands and landing approaches.

ControlUse
StyleRoot Structure, Vine Structure or Hybrid.
Placement / AnchorsSet both banks and bridge width using AL, AR, BL and BR. Left/Right Guide splines describe the span.
ShapeSag and guide sampling shape the span. Root/strand variation and end-radius controls refine its organic character.
Mesh / Parent Rails and PrimarySet the parent rails, primary roots per rail, bundle spread, path/thickness/cross-section variation and twist.
Mesh / WeaveEnable secondary/tertiary strands and tune their count, radius and vertical weave.
Material / Mesh Density / SmoothingThe default structural material is MI_AlderRoot. The bridge shares mesh-density, smoothing, bark-detail and optional fusion controls.
CollisionGenerate Walkable Collision creates a simple proxy with configurable thickness. It is not per-strand physical simulation.
DetailsEnable and rebuild user-assigned detail attachments along the finished structure.
OutputExport Static Mesh for a fixed result including generated details, or Export Runtime Actor for VAT or Material / Shader growth.

Bridge animation

  1. Build the bridge and click Export Runtime Actor. Re-export older bridges to obtain the new directional timing data.
  2. Select the exported runtime actor and choose Growth > Bridge > Bridge Growth Mode: Use Exported Growth Mode, End A to End B, End B to End A or Both Ends to Middle. The generator labels the last option Both Banks to Middle.
  3. Use normal runtime timing controls, a Growth Progress track or Character proximity to play it. Newly exported bridges enable editor preview and Auto Play on Begin Play.

Growth Direction / Reverse Growth reverses time and retracts the bridge. Bridge Growth Mode chooses the starting bank. At full progress, the entire authored surface is restored.

Runtime export hides the fully grown source and its shadows so they do not cover the animation. To edit it again, select the source in the Outliner and click Generate Bridge; hide the runtime copy while editing.

Attraction Actor Reference

The Attraction Actor distributes deterministic world-space attraction points from a local box volume. Root and Vine actors can use those points to pull growth toward a chosen area.

Main Actions

SettingDescription
Distribute Attraction PointsGenerate or refresh attraction points using the current scatter settings.
Clear Attraction PointsRemove all generated attraction points from this actor.
Get Attraction PointsGet the generated world-space attraction points.

Components

SettingDescription
RootRoot scene component for the actor. (Read-only, Blueprint read-only)
Scatter BoundsBox component used by the Attraction Actor for area scattering. (Read-only, Blueprint read-only)

Components / Editor

SettingDescription
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. (Read-only, Blueprint read-only)
Point Preview ComponentEditor preview component used to display generated attraction points. (Read-only, Blueprint read-only)
Projection Debug Line BatcherEditor debug line batcher used to draw the local-down projection direction. (Read-only, Blueprint read-only)

Scatter

SettingDescription
Point CountNumber of attraction points to distribute inside the bounds.
Box ExtentHalf extents of the local point-field volume.
Project Points Along Local DownProject generated samples along the volume's local down direction.
Projection Trace DistanceTrace distance used when projecting generated samples along the volume's local down direction.
Surface Offset CmOffset applied along the sampled surface normal after the point is generated.
Random SeedSeed used for deterministic point distribution.
Lock SeedWhen enabled, Distribute Attraction Points always uses the exact Random Seed.
Last Build Seed UsedRead-only seed used by the most recent distribution pass.
Draw Projection Direction DebugDraw the attraction volume's local down/projection direction in the editor.
Attraction PointsCurrent world-space attraction points used by PRG generators that reference this actor.

Growth Data Assets

Runtime export creates a UPRG_GrowthData asset. It stores branch timing, source metadata, geometry settings, material references, VAT metadata, and the mesh payload used by runtime playback.

Stored DataDescription
Payload VersionV4 exports use payload version 7, including the finished mesh, growth data and physical texture/junction mapping.
BranchesParent-first branch data, authored frames, radii, timing, tier index, and parent attachment metadata.
Authoritative Mesh PayloadSaved final mesh topology and overlay data used to reproduce the export mesh at runtime.
Mesh UV Layer CountCurrent payloads contain eight UV layers, including flow, growth timing, VAT lookup, centerline collapse and parent texture coordinates.
Material / VAT MaterialThe normal runtime material and the optional VAT-enabled material resolved during export.
VAT Position TextureRGBA32F position texture used by Vertex Animation Texture playback. RGB stores final local-space position; alpha carries reveal timing when enabled.
VAT Normal TextureCompatibility reference for older data. Animated-normal baking is currently unavailable.
VAT CountsFrame count, vertex count, texture width, and texture height saved for validation and runtime setup.
Finalized Ring MetadataPer-frame ring width, top/bottom scale, and final shaping metadata used by runtime reconstruction and material growth.
Vertex Keys / AliasesStable FPRG_VertexKey identity data used to align authored branch vertices, runtime mesh elements, and VAT rows.
Default Animation MethodThe method the spawned Runtime Growth Actor should use first. Root, Vine, Barrier and Bridge exports can use VAT or Material / Shader.

Runtime Growth Actor Reference

Runtime Growth Actors consume exported Growth Data and play authored growth forward or backward in game or in editor preview.

Main Actions

SettingDescription
Play GrowthStart growing forward from current progress.
Play Growth From StartStart growing forward from 0.0.
Reverse GrowthStart shrinking (reversing) from current progress toward 0.0.
Reverse Growth From EndStart shrinking from 1.0 toward 0.0.
Stop GrowthPause playback at the current progress.
Reset GrowthReset progress to 0.0 and stop playback. Mesh becomes invisible.
Set Fully GrownInstantly set growth to 1.0 (fully visible). Stops playback.
Set Growth ProgressDirectly set the growth progress. Stops playback.
Play In DirectionPlay in the specified direction from the current progress.
Build PreviewRebuild runtime preview mesh from GrowthData now, even when automatic editor preview rebuilds are disabled.
Refresh Runtime MaterialRecreate the runtime material instance without rebuilding geometry.
Clear Runtime Material OverrideClear the runtime material override and return to the material exported in GrowthData.

Components

SettingDescription
Mesh ComponentPrimary runtime dynamic mesh component for committed grown geometry. (Read-only, Blueprint read-only)
Tip Mesh ComponentSecondary runtime dynamic mesh component used for the active growth tip. (Read-only, Blueprint read-only)
Proximity TriggerSphere trigger used for proximity-driven playback. (Read-only, Blueprint read-only)

Components / Editor

SettingDescription
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. (Read-only, Blueprint read-only)

Data

SettingDescription
Growth DataThe exported growth data asset from the authoring actor (Root, Vine, Barrier or Bridge).
Source TypeWhether this growth data was authored from a Root, Vine, Barrier or Bridge actor.
Source Actor NameName of the authoring actor that produced the currently assigned growth data.
Total BranchesRead-only branch count contained in the currently assigned growth data.

Animation

SettingDescription
Animation MethodRuntime playback method. Choose VAT for data with a valid baked VAT payload, or Material / Shader for parameter-driven growth. Bridges also support VAT and directional growth.
Vertex Animation TextureUses a fully grown mesh plus a VAT position texture for animated growth. This avoids rebuilding mesh sections every frame.
Material / ShaderUses material parameters and growth payload data for reveal-style playback when VAT is disabled or unavailable.
Runtime material contract: VAT playback keeps the exported mesh at its final local-space position. MF_Growth uses reveal timing and UV5/UV6 centerline-collapse data to handle tip collapse and radius maturation.

Timing

SettingDescription
Growth DurationTotal seconds for autonomous playback from 0% to 100%. Sequencer key times set cinematic duration instead.
Playback RateSpeed multiplier applied on top of GrowthDuration. 2.0 = twice as fast.
EasingEasing function applied to the growth timeline.
Custom Easing CurveCustom easing curve. X axis = raw progress (0-1), Y axis = eased progress (0-1).
Start DelaySeconds to wait before the animation begins after PlayGrowth is called.
Auto Play On Begin PlayAutomatically start growth animation on BeginPlay.
LoopAutomatically restart growth when it finishes.
Ping PongWhen looping, reverse direction each cycle (grow then shrink then grow...).
Growth DirectionDirection of growth when using AutoPlay or editor preview scrubbing.

Timing / Advanced

SettingDescription
Use Hierarchical Runtime Branch SchedulingEnable runtime-derived branch timing. When disabled, playback uses the authored timing from Growth Data.
Log Runtime Branch SchedulingLog authored and runtime branch scheduling values when playback caches are rebuilt.

Editor / Debug

SettingDescription
Log Branch Schedule DiagnosticsLog per-branch authored, attachment, and scheduled timing diagnostics after rebuilding runtime schedule.

Editor Preview

SettingDescription
Editor Preview ProgressPreview the growth state in the editor. 1.0 = fully visible. Adjusting this in the editor will update the mesh preview.
Auto Rebuild PreviewEnable editor preview mesh rebuilds. Enable when previewing exported growth in the editor. Newly exported bridges enable it; Build Preview restores an empty transient preview.

Trigger

SettingDescription
Use Proximity TriggerEnable the built-in proximity sphere trigger. Disable this if you want to trigger growth from your own Blueprint/code.
Trigger RadiusRadius of the proximity trigger sphere (in cm).
Only Play OnceOnly allow the growth animation to trigger once.
Trigger DirectionDirection to play when triggered by proximity.

State

SettingDescription
Growth ProgressCurrent growth progress from 0.0 (hidden) to 1.0 (fully grown). Key this property directly in Sequencer; keyed values bypass autonomous easing.
Is PlayingRead-only. True while a forward or reverse growth animation is actively playing.
Is ReversingRead-only. True when the actor is playing in reverse (shrinking back toward 0.0).
Has CompletedRead-only. True once forward growth has reached 1.0 and stopped.
Has ReversedRead-only. True once reverse growth has fully unwound back to 0.0 and stopped.

Events

SettingDescription
On Growth FinishedFired when forward growth reaches 1.0.
On Growth ReversedFired when reverse growth reaches 0.0.
On Growth StartedFired when playback starts (forward or reverse).
On Growth StoppedFired when playback is stopped via StopGrowth().
On Growth Progress ChangedFired every tick while playing. Passes current progress.

Rendering

SettingDescription
Max Displacement CmMax displacement magnitude in cm. Must match your material's WPO displacement range.
Runtime Material OverrideOptional material used by Material / Shader reveal mode.
Runtime VAT Material OverrideOptional VAT-enabled material instance used for Vertex Animation Texture playback.
Shader Growth FeatherSmoothstep feather width around each vertex appear time when using Material / Shader playback.
Shader Growth Hidden OffsetWorld-space offset applied to unborn geometry when using Material / Shader playback.
Animation Shadow ModeShadow update mode during growth animation.
Shadow Update IntervalMinimum interval between shadow map updates during animation.
Cast ShadowsWhether this mesh casts shadows. Disable for best animation quality.
Cast Two Sided ShadowsTwo-sided shadows reduce self-shadowing on thin tube geometry.
Disable Indirect Shadows During AnimationDisable indirect shadow casting to reduce Lumen shadow artifacts during animation.

Sequencer: First Growth Animation

  1. Build your Root, Vine, Barrier or Bridge, then click Export Runtime Actor. Animate the exported runtime actor, not the authoring actor.
  2. On the runtime actor, turn off Auto Play on Begin Play and Use Proximity Trigger. Enable Auto Rebuild Preview if needed, and use Build Preview if the loaded preview is empty.
  3. Create a Level Sequence from the Content Browser or Cinematics menu and open it.
  4. Drag the runtime actor from the World Outliner into Sequencer. On that actor track, choose + Track > Growth Progress.
  5. At the starting frame, set Growth Progress = 0 and add a key. At the ending frame, set it to 1 and add another key.
  6. For a four-second example at 30 fps, use frames 0 and 120. Select both keys and choose Linear interpolation for a steady rate.
  7. Scrub forward and backward. Add a later key at 0 to retract, or edit the curve for pauses and acceleration. For gameplay, assign the sequence to a Level Sequence Actor and play it from Blueprint or enable that actor's Auto Play.

Sequencer drives Growth Progress directly and stops autonomous playback. Its keys own duration and easing; runtime Growth Duration, Playback Rate and Easing control Play Growth instead. VAT frames interpolate without changing the saved body topology. More frames can improve a complex bake, but also increase texture cost.

Proximity-Triggered Growth

  1. Select the exported runtime actor, disable Auto Play on Begin Play and enable Use Proximity Trigger.
  2. Set Trigger Radius in centimeters and choose Trigger Direction. The sphere is centered at the runtime actor's origin; it does not cover the whole branch network automatically.
  3. Test in Play In Editor with an ACharacter whose capsule generates overlap events and overlaps the trigger. A plain Pawn or prop is not accepted by the built-in trigger.
  4. Leave Only Play Once enabled for one-shot growth. Reset Growth rearms it. Additional overlaps during playback do not restart it.

A Character already inside at Begin Play also activates the trigger. Forward growth honors Start Delay; Reverse Growth starts immediately. For props, plain Pawns or another activation rule, disable the built-in trigger and call Play Growth or Reverse Growth from your own Blueprint overlap/event.

Upgrading from V3

  1. Back up the project and any customized plugin content, then close Unreal Editor. Existing actor/preset paths and the saved Burrowing enum value are preserved.
  2. Install the package built for your Unreal Engine version. Do not copy a newer engine's .uasset files into an older project.
  3. Use Generate Paths + Mesh on Root, Vine or Barrier, or Generate Bridge on bridges, to obtain corrected paths. Refresh Mesh updates geometry on existing paths.
  4. Regenerate Static Mesh and runtime Growth Data exports to obtain V4 geometry, texture mapping and bridge directional timing. Preserve old exports if their exact appearance must remain unchanged.
  5. Re-export existing bridges before using Bridge Growth Mode. Reversing Growth Direction retracts a bridge; it does not choose the opposite starting bank.
  6. Keep fusion off for normal iteration. Enable it only for a measured final bake when a connected junction mesh is needed.

Locked seeds reproduce matching inputs within an engine, but V4's path corrections can change an old result on rebuild. Cross-engine collision differences can also change placement. Keep the old finished Static Mesh/Growth Data when exact art continuity is required.

The five distributed actor Blueprints were recreated independently in each engine and verified in clean projects. Their original asset paths and defaults are retained. If plugin content was customized locally, preserve those customizations before installing the update.

Keep customized assets through updates

Back up customized plugin content before installing an update. Updates can overwrite changes made inside the plugin folder. Make project copies of materials, textures or preset tables and assign those copies explicitly if you want independent versions. There is no automatic customization merge or bundled-content import workflow.

Restore Presets and Reset Actor replaces built-in preset rows and resets the actor to class defaults. Custom-named rows remain; customized built-in rows should be backed up first.

Troubleshooting

Nothing appears after Build

  • Make sure you are using an authoring actor, not only a Runtime Growth Actor.
  • Check that the current preview/build mode is not hiding the generated hierarchy.
  • If using an external spline workflow, confirm that the assigned external actor/component is valid.

Generation is too slow while iterating

  • Start from presets and block out shapes at lower detail before moving to full-quality settings.
  • Reduce branch counts, segment density, and smoothing complexity while iterating.
  • Prefer Static Mesh export for final non-animated environment work.

Runtime playback is heavy

  • Choose VAT or Material / Shader growth based on the asset. All four generators support both methods; high-density VAT bakes can require large textures.
  • Reduce authored complexity before export, narrow the export scope, or loosen VAT Mesh Decimation Tolerance where that control is available.
  • Use dense runtime playback where animation matters. Use Static Mesh export for final non-animated dressing.

VAT export fails or bakes fewer frames than requested

  • Check the Output Log for VAT element count, requested frame count, texture width, and texture limit warnings.
  • Lower the density preset, reduce branch counts, increase VAT Max Texture Width within your platform limits, or loosen VAT Mesh Decimation Tolerance.
  • If the asset is too dense for even a low-frame VAT, split the result across multiple actors or use Static Mesh export.

A runtime actor uses Material / Shader playback instead of VAT

  • Confirm the Growth Data has a VAT payload, VAT position texture, and VAT-enabled material.
  • If payload validation fails, re-export from the authoring actor so saved mesh data and VAT counts are rebuilt together.

VAT growth stretches into long strips or collapses toward the origin

  • Regenerate and re-export the asset so Growth Data is payload version 7.
  • Confirm a new exported mesh has eight UV layers and that UV5/UV6 contain the centerline-collapse vector used by MF_Growth.
  • Make sure the material reads TexCoord[5] and TexCoord[6] for collapse. Do not rebuild collapse from normals, tangents, or UV2.

Hanging or cave growth does not start

  • Use Hanging for ceiling/underside vine starts. Keep the initial support within the configured search distance.
  • For Cave / Underground, place the Root actor inside the cave near the roof, not on terrain above it.
  • Check query collision and the surface trace channel, then rebuild the paths.

Bridge growth is missing or fully grown from the start

  • Regenerate the runtime export after updating. Select the runtime actor and check its Bridge Growth Mode and animation controller.
  • Keep the authoring bridge hidden while previewing playback. Generate Bridge makes the source visible again for editing.
  • For Sequencer, disable Auto Play and the proximity trigger, then key Growth Progress.

Proximity growth does not trigger

  • Test an ACharacter with overlap-enabled capsule collision inside the runtime actor's sphere, not at a distant branch tip.
  • Reset Growth after a one-shot activation. Use Blueprint events for a plain Pawn or prop.

Surface adherence is not behaving as expected

  • Check the relevant trace/surface/crawling settings for the current actor.
  • Verify that the target geometry blocks the expected collision channels.
  • When working against complex meshes, the complex-trace options may be necessary for accurate adhesion.

Textures do not follow branch direction correctly

  • Use a flow-aligned material that reads the directional payload channels instead of a generic world-aligned shader.
  • Confirm your material is decoding UV1 flow coordinates, UV2 shading frame data, and Vertex Color surface/radius data as intended.
  • For VAT playback, confirm the material reads UV4 for VAT rows, UV5/UV6 for centerline collapse, and the exported VAT position texture assigned by Growth Data.

Back to top

Procedural Root Generator