Home
Embedded Techno

Procedural Root & Vine Generator — Version 3.0 (UE 5.6 - 5.7)

PRG authors procedural root, vine, and barrier growth directly inside Unreal Editor. Root and Vine actors produce surface-crawling or climbing plant geometry; the Barrier Actor fills openings with strand-based organic seals; Attraction fields pull growth toward specific areas; and Runtime Growth Actors play exported growth data back in-game. Version 3.0 adds root climbing and vine wrapping as separate authoring profiles, expands the Barrier Actor with three distinct strand-layout patterns, and moves runtime export to payload version 6 — with VAT textures baked alongside the mesh data so Runtime Growth Actors can reconstruct the exact authoring result without re-running the generator.

Installation

  1. Close Unreal Editor.
  2. Copy the ProceduralRootGenerator folder into your project's Plugins directory.
  3. Open the .uproject in Unreal Engine 5.6 or 5.7.
  4. Verify the plugin is enabled in Edit > Plugins.

What's New in Version 3.0

  • UE 5.6 and 5.7 are both supported. This documentation covers both engine targets; there are no separate branches.
  • Root climbing is now its own authoring profile. The old Surface workflow still exists, but Climbing is documented separately and exposes its own set of controls: wall seeking, top behavior, spread-over-top, and short anchor branch generation.
  • Vine wrapping has dedicated controls. Climbing and Wrapping vines are now split into distinct profiles. Wrapping-specific settings cover orbit, corner commit, support reacquisition, and contact depth overrides.
  • The Barrier Actor has been substantially expanded with three strand-layout patterns (Curtain, Lattice, Organic Seal) and a new layer of per-strand controls: anchor modes, endpoint modes, cross-link density, and offshoot branches.
  • Attraction fields use deterministic box volumes. Pull points scatter inside a local box, with optional local-down projection. Lock the seed and the scatter stays stable between builds.
  • Runtime export is payload version 6. The exported package now bundles the mesh alongside VAT textures, so Runtime Growth Actors can replay the exact authoring result without regenerating anything.
  • VAT is the default runtime animation path. New exports use Vertex Animation Texture playback. Material/Shader reveal is still available and unchanged for existing setups.

Quick Start

  1. Place an actor: Add a Root, Vine, or Barrier actor to the level.
  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 Build All / Build Now to generate the current result.
  5. Refine: Adjust category-specific settings such as branching, shaping, surface interaction, or export behavior.
  6. Export: Bake to Static Mesh for final environment use, or export Growth Data plus VAT assets for animated playback.

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. 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, or you want the cheapest final environment geometry.
Runtime Growth + VATAnimated in-game growth with a baked VAT position texture. This is the default v3 runtime path.
Runtime Growth + Material / ShaderRuntime reveal behavior without VAT textures for that asset.
Performance note: VAT is the recommended runtime animation path, but 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.

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.

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.

PRG Editor Utility Tab

Version 3.0 includes a dedicated PRG editor utility tab. The tab is selection-driven and changes its filters and details view based on the currently selected Root, Vine, or Barrier actor.

SettingDescription
Selection-aware mode switchingThe tab automatically swaps between Root, Vine, and Barrier 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, and Attraction actors, 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 stores plugin version name 3.0.

Materials & Data Encoding

PRG-generated meshes use a flow-aligned material workflow, not the older triplanar setup. The generator writes directional payload data for custom materials and texture sets, keeping bark/vine flow aligned to growth direction across curved branches and welded connections.

SettingDescription
M_FlowAlignedMaster material that builds the base bark/vine layer, optional decal/detail layer, mask stack, radius grain scale, and runtime growth output.
MF_FlowAlignedShared texture sampling function. It decodes the authored flow frame and samples color, normal, ORM, and displacement from flow-aligned UVs.
MF_GrowthRuntime growth function. It reads VAT position/reveal data, shader reveal timing, UV5/UV6 centerline-collapse vectors, radius maturation, and outputs WPO.
UV0 / Base LayerStandard material UVs for base texture sampling.
UV1 / Flow LayerFlow-aligned texture coordinates. R is the wrapped/circumferential axis; G is the along-growth grain axis.
UV2 / Shading FrameEncoded flow/shading basis used by the flow-aligned material function.
UV3 / Growth PayloadPer-vertex growth timing. X is VertexAppearTime; Y is BranchStartTime.
UV4 / VAT LookupDense per-vertex VAT row lookup used to address the VAT position texture.
UV5 / Centerline Collapse XYLocal-space XY vector from each surface vertex back to its authored tube centerline. Used by MF_Growth for tip/radius WPO collapse.
UV6 / Centerline Collapse ZLocal-space Z component of the centerline-collapse vector. UV5 and UV6 reconstruct the full centerline collapse vector.
Vertex ColorStores generated shading support data, including surface-normal basis and radius scale used by flow-aligned shading and radius-aware grain.
Authoritative Mesh PayloadSaved Growth Data includes the exported mesh topology and overlays used by runtime playback and VAT.

Use the provided material instances as a starting point for custom root, vine, and barrier textures. Runtime VAT textures store final local-space position in RGB and optional reveal alpha in A. UV5/UV6 provide the centerline-collapse data used during growth.

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
Build AllBuild all generated content from the current settings.
Build MeshRegenerate the generated mesh from existing spline points.
Generate Static MeshGenerates a static mesh actor from the current generated mesh.
Generate 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. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Parent Spline ContainerContainer component that owns generated or authored parent/root splines. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Generated Mesh ComponentDisplays the generated result in-editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Primary ContainerContainer for generated primary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Secondary ContainerContainer for generated secondary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Tertiary ContainerContainer for generated tertiary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

Components / Debug

SettingDescription
Hub Debug SphereEditor/debug sphere used to visualize the hub or placement origin. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

General

SettingDescription
PresetSelect a preset row from DT_RootPresets. Includes custom presets created with New.
Growth TypeEnabled root growth behavior. Surface favors lateral spread across supports; Climbing uses the wall-aware root profile.
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. Vertex Animation Texture is the optimized v3 default; Material / Shader remains 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.
Bake VAT NormalsAlso bake animated normals. Disabled by default to save memory and texture sampling cost.
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.

Vine Actor Reference

The Vine Actor authors climbing and wrapping 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.

Main Actions

SettingDescription
Build AllBuild all generated content from the current settings.
Build MeshRegenerate the generated mesh from existing spline points.
Generate Static MeshGenerates a static mesh actor from the current generated mesh.
Generate 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 <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Parent Vine SplineGuide spline used as the parent path for vine generation <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Generated Mesh ComponentPrimary dynamic mesh component that displays generated vine geometry <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Placement Preview BillboardBillboard used to preview placement/orientation in the editor <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Primary ContainerScene component parent for generated primary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Parent ContainerScene component parent for generated synthetic parent splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Secondary ContainerScene component parent for generated secondary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Tertiary ContainerScene component parent for generated tertiary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

General

SettingDescription
PresetSelect a preset row from DT_VinePresets. Includes custom presets created with New.
Growth TypeEnabled vine growth behavior. Climbing favors upward surface growth; Wrapping favors orbiting and conforming around support geometry.
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. Vertex Animation Texture is the optimized v3 default; Material / Shader remains 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.
Bake VAT NormalsAlso bake an animated normal texture.
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.

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
Build NowBuild the generated mesh from the current settings.
Regenerate MeshRegenerate the generated mesh from existing barrier spline points.
ClearClears all generated barrier splines and mesh.
Create Runtime Growth 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. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Opening VolumeDefines the opening or region used by the barrier generator. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Generated Mesh ComponentDisplays the generated result in-editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Strands ContainerContainer for generated barrier strand splines. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

Components / Debug

SettingDescription
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

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.
Bake VAT NormalsAlso bake an animated normal texture.
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.

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. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Scatter BoundsBox component used by the Attraction Actor for area scattering. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

Components / Editor

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

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 VersionCurrent v3 exports use payload version 6 with saved mesh data and UV5/UV6 growth data.
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 7 UV layers, including flow, growth timing, VAT lookup, and centerline-collapse data.
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 TextureOptional animated normal texture, generated only when Bake VAT Normals is enabled.
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. For new v3 VAT exports this is usually Vertex Animation Texture.

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.
BuildRebuild 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. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Tip Mesh ComponentSecondary runtime dynamic mesh component used for the active growth tip. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>
Proximity TriggerSphere trigger used for proximity-driven playback. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

Components / Editor

SettingDescription
Placement Preview BillboardBillboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span>

Data

SettingDescription
Growth DataThe exported growth data asset from the authoring actor (Root, Vine, or Barrier).
Source TypeWhether this growth data was authored from a Root, Vine, or Barrier 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. Vertex Animation Texture is the optimized default for v3 Growth Data with a valid VAT payload.
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 the full growth animation from 0%% to 100%%.
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.
Enable Editor Preview RebuildsEnable editor preview mesh rebuilds. Keep disabled for normal editing.

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 (invisible) to 1.0 (fully grown).
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.

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

  • Use Vertex Animation Texture playback for exported growth whenever possible. It is the default v3 runtime path.
  • 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 6.
  • Confirm the exported mesh has 7 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.

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