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
- Close Unreal Editor.
- Copy the ProceduralRootGenerator folder into your project's Plugins directory.
- Open the .uproject in Unreal Engine 5.6 or 5.7.
- 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
- Place an actor: Add a Root, Vine, or Barrier actor to the level.
- Choose a workflow: Use the actor's built-in spline/placement setup, or assign an external spline where supported.
- Select a preset: Start from a preset for fast iteration, then move into Expert Mode if you need deeper control.
- Build: Use Build All / Build Now to generate the current result.
- Refine: Adjust category-specific settings such as branching, shaping, surface interaction, or export behavior.
- 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.
| Path | Use it when... |
| Static Mesh | The result will not animate, or you want the cheapest final environment geometry. |
| Runtime Growth + VAT | Animated in-game growth with a baked VAT position texture. This is the default v3 runtime path. |
| Runtime Growth + Material / Shader | Runtime 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
| Mode | What it is for |
| Surface | Grounded root networks that crawl across terrain, meshes, or other traced support surfaces. |
| Climbing | Wall-aware roots that seek vertical support, climb, and then stop, flow over, or spread at the top. |
Vine Behavior
| Mode | What it is for |
| Climbing | Surface-adhered vines that climb upward and can stop, drape over, or spread at the top. |
| Wrapping | Vines that cling and orbit around support geometry, including corners and short gaps. |
Barrier Behavior
| System | What it controls |
| Pattern | Curtain, Lattice, and Organic Seal choose the main strand layout for an opening. |
| Anchors and Endpoints | Anchor Mode chooses where strands start; Endpoint Mode chooses where they finish. |
| Cross-links and Offshoots | Cross-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.
| Setting | Description |
| Selection-aware mode switching | The tab automatically swaps between Root, Vine, and Barrier layouts based on the currently selected actor. |
| Category filters | Quick, Mesh, Branch, Shape, Surface, Simulation, Animation, and Debug-style filters help you focus on one part of the tool at a time. |
| Shared workflow | The main build, mesh refresh, export, and documentation actions stay consistent across actor types. |
| Faster iteration | Useful 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.
| Layer | Current responsibility |
| ProceduralRootGeneratorEditor | Editor-only authoring actors, presets, mesh generation, Static Mesh export, Growth Data export, VAT bake, PRG tab, and details customization. |
| ProceduralRootGeneratorRuntime | Runtime Growth Data assets, DynamicMesh reconstruction, VAT/material playback, scheduling, triggers, rendering controls, and Blueprint playback events. |
| Runtime actor | APRG_RuntimeActor rebuilds exported body and tip meshes, then drives VAT playback or shader reveal at runtime. |
| Platform boundary | The 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.
| Setting | Description |
| M_FlowAligned | Master material that builds the base bark/vine layer, optional decal/detail layer, mask stack, radius grain scale, and runtime growth output. |
| MF_FlowAligned | Shared texture sampling function. It decodes the authored flow frame and samples color, normal, ORM, and displacement from flow-aligned UVs. |
| MF_Growth | Runtime growth function. It reads VAT position/reveal data, shader reveal timing, UV5/UV6 centerline-collapse vectors, radius maturation, and outputs WPO. |
| UV0 / Base Layer | Standard material UVs for base texture sampling. |
| UV1 / Flow Layer | Flow-aligned texture coordinates. R is the wrapped/circumferential axis; G is the along-growth grain axis. |
| UV2 / Shading Frame | Encoded flow/shading basis used by the flow-aligned material function. |
| UV3 / Growth Payload | Per-vertex growth timing. X is VertexAppearTime; Y is BranchStartTime. |
| UV4 / VAT Lookup | Dense per-vertex VAT row lookup used to address the VAT position texture. |
| UV5 / Centerline Collapse XY | Local-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 Z | Local-space Z component of the centerline-collapse vector. UV5 and UV6 reconstruct the full centerline collapse vector. |
| Vertex Color | Stores generated shading support data, including surface-normal basis and radius scale used by flow-aligned shading and radius-aware grain. |
| Authoritative Mesh Payload | Saved 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
| Setting | Description |
| Build All | Build all generated content from the current settings. |
| Build Mesh | Regenerate the generated mesh from existing spline points. |
| Generate Static Mesh | Generates a static mesh actor from the current generated mesh. |
| Generate Runtime Actor | Export spline data to a runtime growth actor for growth playback. |
| Open Documentation | Open the Procedural Root Generator documentation. |
| Reset to Defaults | Resets all settings to their default values |
| Overwrite Preset From Current Settings | Select an existing preset row and replace it with the current actor settings. If the preset table is missing, it will be created first. |
Components
| Setting | Description |
| Root | Root scene component for the actor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Parent Spline Container | Container component that owns generated or authored parent/root splines. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Generated Mesh Component | Displays the generated result in-editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Primary Container | Container for generated primary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Secondary Container | Container for generated secondary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Tertiary Container | Container for generated tertiary branches. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Components / Debug
| Setting | Description |
| Hub Debug Sphere | Editor/debug sphere used to visualize the hub or placement origin. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Placement Preview Billboard | Billboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
General
| Setting | Description |
| Preset | Select a preset row from DT_RootPresets. Includes custom presets created with New. |
| Growth Type | Enabled root growth behavior. Surface favors lateral spread across supports; Climbing uses the wall-aware root profile. |
| Expert Mode | Show advanced/expert controls throughout the root generator details panel. |
| Use External Spline | Use a spline from another actor as the parent root path instead of the built-in spline |
| External Spline Actor | The actor containing the spline component to use as the parent root |
| External Spline Component | The specific spline component from the external actor to use |
General / Presets
| Setting | Description |
| Root Presets Table | DataTable containing root presets (row type: FRootPresetData). |
| Apply Preset On Change | Automatically apply preset values when the preset selection changes |
| Auto Set Preset To Custom On Edit | Automatically set preset to 'Custom' when any parameter is manually edited |
General / Advanced
| Setting | Description |
| Preview Mode | Choose which root hierarchy levels to preview: None, Parent only, Parent + Primary, or All. |
| Random Seed | Seed for random number generation. Change this to get different root patterns with the same settings |
| Master Scale | Global scale multiplier for the entire root system |
| Min Generated Radius | Minimum 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
| Setting | Description |
| Root Material | Material to apply to the generated root mesh |
Mesh / Tube
| Setting | Description |
| Tube Axial Subdivisions | Multiplier for axial sample density along each root segment (1 = baseline) |
| RM Frames Max Samples Per Spline | Per-spline sample cap for mesh/debug frame generation. Hard ceiling is 16384. |
| Tube Radial Segments | Number of radial subdivisions around the root tube |
| Cap Tube Ends | Close the ends of root tubes with cap geometry |
| Tube End Cap Taper | How much to taper/narrow the end caps |
| Tube Terminal Taper Length Scale | Length scale of the terminal taper stub ring appended before each non-welded cap. |
| Tube Terminal Taper Radius Scale | Radius scale of the terminal taper stub ring appended before each non-welded cap. |
Mesh / Spline
| Setting | Description |
| Enable Single Point Kink Regularization | Run a local point-chain regularization pass before spline assembly to target single-point kinks (smooth/merge/average) without global smoothing. |
| Commit Guard Radius Scale | Commit-guard allowance scale applied to local crawl sphere radius. Higher values allow larger commit deviations on thick roots. |
| Commit Guard Root Radius Scale | Additional commit-guard allowance scale applied to start radius. Use for large-tier roots that need extra local commit freedom. |
| Enable Final Committed Step Clamp | Apply 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 Scale | Multiplier on intended Step used by the final committed step-length cap. |
| Final Committed Step Length Max Cm | Optional 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 Clamp | When final step clamp triggers, prefer the intended growth direction for projection when stable. |
| Always Run Broad Post Growth Smoothing | Always run the broader sharp-corner smoothing pass. |
| Enable Adaptive Bend Subdivision | Enable local adaptive bend subdivision on the generated point chain before spline assembly. |
| Adaptive Bend Dot Threshold | Corner direction-dot threshold below which interior turns start receiving adaptive point subdivision. |
| Adaptive Bend Severe Dot Threshold | Severe corner direction-dot threshold used to increase inserted points for very tight bends. |
| Adaptive Bend Max Inserted Points | Maximum number of points inserted around a single sharp bend corner during adaptive subdivision. |
| Adaptive Bend Min Segment Length Scale | Minimum allowed local sub-segment length as a fraction of Step when inserting bend refinement points. |
| Adaptive Bend Arc Bias | How strongly inserted bend-refinement points bow toward a rounded arc target instead of linear corner interpolation. |
| Run Adaptive Bend Subdivision After Kink Pass | Run adaptive bend subdivision after kink cleanup (and broad post-growth smoothing) before spline assembly. |
| Broad Post Growth Smoothing Passes | Number of broad smoothing passes over interior points. |
| Broad Post Growth Sharp Corner Dot Threshold | Threshold for treating an interior point as a sharp corner. |
| Broad Post Growth Blend Min | Minimum smoothing blend for a detected sharp corner. |
| Broad Post Growth Blend Max | Maximum smoothing blend for a severe sharp corner. |
Mesh / Smoothing
| Setting | Description |
| Smoothing Type | Type of mesh smoothing algorithm to apply |
| Smoothing Iterations | Number of smoothing passes to apply |
| Smoothing Strength | Strength of the smoothing effect |
| Smooth Boundary Vertices | Apply smoothing to vertices on mesh boundaries |
| Preserve Junction Vertices | Protect vertices at branch junctions from smoothing |
Mesh / Welding
| Setting | Description |
| Weld Branch Junctions | Merge vertices at branch connection points |
| Weld Tolerance | Distance threshold for welding vertices at junctions |
| Use Organic Junction Blend | After welding a child to its parent, reshape the junction into a softer collar. |
| Weld Coincident Edges | Weld vertices that lie on the same edge |
| Edge Weld Tolerance | Distance threshold for welding coincident edge vertices |
Mesh / Static Mesh Export
| Setting | Description |
| Enable Nanite | Enable Nanite virtualized geometry |
| Recenter Pivot To Bounds Center | Move the mesh pivot to the center of its bounding box |
| Place Static Mesh | Place the generated static mesh into the level |
| Export Scope | Selects which spline scope is used for export and solo preview. |
| Export Tier Selection | Tier used when export scope is set to Selected Tier. |
| Export Spline Selection | Optional single spline selection for export. 'All Splines' exports the full generated mesh. |
| Export Ancestor Chain As Combined Asset | When exporting branch + ancestors, also produce one combined asset for the full chain. |
| Export Ancestor Chain As Separate Assets | When exporting branch + ancestors, also produce one separate asset per spline in the chain. |
| Preview Selected Export Spline | If enabled, selecting a single spline for export will also preview only that spline in the editor viewport. |
| Show Non Selected Splines In Solo Preview | When solo export preview is active, keep non-selected splines visible as thin editor debug splines. |
| Generated Asset Folder | Folder path where generated static mesh assets will be saved |
Mesh / Static Mesh Export / Collision
| Setting | Description |
| Generate Collision | Generate convex hull collision geometry for the exported Static Mesh. |
| Hull Count | Target number of convex hull pieces when generating collision for the exported static mesh. |
| Max Hull Verts | Maximum vertex count allowed per generated convex hull. Higher values preserve more shape detail but cost more collision complexity. |
| Hull Precision | Precision used by convex decomposition. Higher values improve fit at higher generation cost. |
Mesh / Interior Face Removal
| Setting | Description |
| Remove Interior Faces | Remove mesh triangles whose centroids are inside another root's tube volume. |
| Interior Removal Mode | RemoveAll: remove any face inside another tube. RemoveSmaller: only remove from the thinner root at intersections (preserves the dominant root's surface). |
| Interior Test Radius Scale | Scale 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 Faces | Preserve faces near branch junction points even if they are technically inside another tube. |
| Junction Preserve Radius Multiplier | Radius around junction points within which faces are preserved, as a multiplier of the local root radius at the junction. |
| Interior Test Sample Spacing | Spacing (in cm) between centerline samples used for containment testing. |
| Junction Start Exclusion Fraction | Fraction of child spline length (from its start) where faces are NEVER removed. |
Branching / Parent
| Setting | Description |
| Parent Count | Number of generated parent splines. |
| Parent Length | Target length (cm) of each generated parent spline. |
| Parent Thickness | Starting thickness/radius used for parent splines. |
| Parent Spread Angle Deg | Angular spread used when distributing parent launch directions around the hub. |
| Parent Launch Stub Length | Minimum launch stub length (cm) before generated parents begin to curve. |
| Parent Min Angular Separation Deg | Minimum angular separation between parent launch directions. |
| Parent Taper | Rate at which parent splines taper from base to tip. Lower values taper more gradually. |
| Parent Tip Taper Multiplier | Additional taper multiplier applied near the tip of parent splines. |
| Parent Target Segment Length | Target segment length used when processing parent splines. Smaller values increase detail. |
| Parent Spline Smoothing Passes | Smoothing passes applied when processing parent splines. |
| Parents Use Surface Projection | Project generated parent splines onto nearby surfaces. |
| Parents Participate In Avoidance | Include generated parents in avoidance checks. |
| Loop Branch Side Constraint | Restrict which side of the parent spline branches can generate on. Useful for loop splines where you only want exterior or interior roots. |
Branching / Anchor
| Setting | Description |
| Enable Anchor Branches | Spawn short support anchors along climbing roots. Anchor branches are meant to read as wall footholds, not full child roots. |
| Anchor Spacing Cm | Average distance between anchor spawn attempts along a climbing parent. |
| Anchor Spacing Jitter | Random variation applied to anchor spacing so anchors do not appear on a rigid interval. |
| Anchor Length | Length of anchor branches in centimeters. |
| Anchor Length Variation | Random variation applied to anchor branch length. |
| Anchor Start Radius Frac | Anchor start radius as a fraction of the parent ring radius at the spawn point. |
Branching / Anchor / Advanced
| Setting | Description |
| Anchor Taper | Taper from anchor base to tip. |
| Anchor Tip Taper Multiplier | Additional taper multiplier at anchor tips. |
| Anchor Min Surface Verticality | Minimum surface verticality needed before a climbing root can place an anchor. |
| Anchor Spread Cone Deg | Cone angle used when choosing anchor directions around the supporting surface. |
| Anchor Surface Hug Strength | How strongly anchors conform back toward the supporting surface. |
| Anchor Target Segment Length | Target segment length for generated anchor branch splines. |
Branching / Primary
| Setting | Description |
| Enable Primary | Enable generation of primary root branches. |
| Primary per Parent | Number of primary branches generated per parent spline. |
| Primary Length | Length of primary root branches. |
| Primary Thickness | Base radius at the start of each primary branch. |
| Primary Length Variation | How much branch length varies (0 = all same, 1 = wide range). |
Branching / Primary / Advanced
| Setting | Description |
| Primary Spread Angle Deg | Maximum spread angle in degrees from the parent direction. |
| Primary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. Prevents children from being thicker than their parent. |
| Primary Taper | Rate at which primary branches thin from base to tip. |
| Primary Tip Taper Multiplier | Additional taper multiplier applied near the primary branch tip. |
| Primary Target Segment Length | Target segment length for primary branch mesh generation. |
| Min Angle Between Consecutive | Minimum angle between consecutive primary branches spawned from the same parent. |
| Primary Meander Strength | Random meander strength for primary branch paths. |
| Primary Direction Preference | How strongly primary branches keep their initial launch direction. |
| Primary Spline Smoothing Passes | Smoothing passes applied to generated primary spline paths. |
| Primary Thickness Variation Min | Minimum multiplicative thickness variation for primary branches. |
| Primary Thickness Variation Max | Maximum multiplicative thickness variation for primary branches. |
| Primary Taper Variation Min | Minimum taper variation multiplier for primary branches. |
| Primary Taper Variation Max | Maximum taper variation multiplier for primary branches. |
Branching / Secondary
| Setting | Description |
| Enable Secondary | Enable generation of secondary root branches. |
| Secondary Per Primary | Number of secondary branches generated per primary branch. |
| Secondary Length | Length of secondary root branches. |
| Secondary Thickness | Base radius at the start of each secondary branch. |
| Secondary Length Variation | How much branch length varies (0 = all same, 1 = wide range). |
Branching / Secondary / Advanced
| Setting | Description |
| Secondary Spread Angle Deg | Maximum spread angle in degrees from the parent direction. |
| Secondary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. |
| Secondary Taper | Rate at which secondary branches taper from base to tip. |
| Secondary Tip Taper Multiplier | Additional taper multiplier near the secondary branch tip. |
| Secondary Target Segment Length | Target segment length for secondary branch mesh generation. |
| Min Angle Between Consecutive Secondary | Minimum angle between consecutive secondary branches spawned from the same parent. |
| Secondary Meander Strength | Random meander strength for secondary branch paths. |
| Secondary Direction Preference | How strongly secondary branches keep their initial launch direction. |
| Secondary Spline Smoothing Passes | Smoothing passes applied to generated secondary spline paths. |
| Secondary Thickness Variation Min | Minimum multiplicative thickness variation for secondary branches. |
| Secondary Thickness Variation Max | Maximum multiplicative thickness variation for secondary branches. |
| Secondary Taper Variation Min | Minimum taper variation multiplier for secondary branches. |
| Secondary Taper Variation Max | Maximum taper variation multiplier for secondary branches. |
Branching / Tertiary
| Setting | Description |
| Enable Tertiary | Enable generation of tertiary root branches. |
| Tertiary Per Secondary | Number of tertiary branches generated per secondary branch. |
| Tertiary Length | Length of tertiary root branches. |
| Tertiary Thickness | Base radius at the start of each tertiary branch. |
| Tertiary Length Variation | How much branch length varies (0 = all same, 1 = wide range). |
Branching / Tertiary / Advanced
| Setting | Description |
| Tertiary Spread Angle Deg | Maximum spread angle in degrees from the parent direction. |
| Tertiary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. |
| Tertiary Taper | Rate at which tertiary branches taper from base to tip. |
| Tertiary Tip Taper Multiplier | Additional taper multiplier near the tertiary branch tip. |
| Tertiary Target Segment Length | Target segment length for tertiary branch mesh generation. |
| Min Angle Between Consecutive Tertiary | Minimum angle between consecutive tertiary branches spawned from the same parent. |
| Tertiary Meander Strength | Random meander strength for tertiary branch paths. |
| Tertiary Direction Preference | How strongly tertiary branches keep their initial launch direction. |
| Tertiary Spline Smoothing Passes | Smoothing passes applied to generated tertiary spline paths. |
| Tertiary Thickness Variation Min | Minimum multiplicative thickness variation for tertiary branches. |
| Tertiary Thickness Variation Max | Maximum multiplicative thickness variation for tertiary branches. |
| Tertiary Taper Variation Min | Minimum taper variation multiplier for tertiary branches. |
| Tertiary Taper Variation Max | Maximum taper variation multiplier for tertiary branches. |
Shape / Variation
| Setting | Description |
| Enable Variation | Enable random variation in branch thickness and taper |
| Variation Strength | Global strength multiplier for all variation effects |
Shape / Junctions
| Setting | Description |
| Enable Junction Bulging | Add thickness bulges at branch junctions |
| Junction Bulge Strength | Radius multiplier at branch junctions. 1.0 = no bulge, 1.2 = subtle, 1.5 = pronounced. |
| Junction Bulge Distance | Falloff distance for junction bulge, as a multiplier of the local radius. Higher = wider bulge zone. |
Shape / Thickness
| Setting | Description |
| Enable Organic Thickness Variation | Add procedural noise-based thickness variations |
| Organic Thickness Noise Strength | Amplitude of organic thickness noise applied along branches. |
| Organic Thickness Noise Frequency | Frequency of organic thickness noise along each root path. |
| Use Length Based Thickening | Make longer roots thicker |
| Length Thickness Scale | Strength of length-based thickening for longer roots. |
Shape / Curve
| Setting | Description |
| Use Advanced Taper Curve | Use power curve for taper instead of linear |
| Taper Curve Power | Power exponent for non-linear tapering. Values above 1 preserve thickness longer before narrowing near the tip. |
Shape / Organic Cross Section
| Setting | Description |
| Enable Surface Ring Flattening | Flatten and widen surface-contacting root rings so roots are not perfectly circular. |
| Contact Flattening | Flattening amount for rings classified as surface-contacting. |
| Exposed Flattening | Flattening amount for rings classified as more exposed above-surface sections. |
| Cross Slope Widening | Width boost applied when roots traverse across steep surface slope changes. |
| Base Flare Strength | Strength of trunk-side base flare shaping near branch origins. |
| Base Flare Distance Cm | Distance from branch origin over which base flare shaping fades out. |
| Bend Deformation Fade Start Deg | Local bend angle in degrees where geometry-side surface basis/deformation suppression starts fading in. |
| Bend Deformation Disable Deg | Local bend angle in degrees where geometry-side surface basis/deformation is fully neutralized for tight bends. |
Shape / Flow
| Setting | Description |
| Enable Hierarchical Flow Inheritance | Use a dedicated shading/UV flow frame and parent-attachment inheritance for bark continuity. |
| Junction Flow Blend Distance Cm | Distance from a child branch start over which shading orientation/phase eases from parent-aligned values into local branch values. |
| Shading Flow History Window | History window used only by the shading frame. Larger values produce calmer bark/grain flow. |
| Shading Flow Max Forward Delta Deg | Maximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots. |
| Shading Flow Max Seam Delta Deg | Maximum seam-phase rotation per ring in degrees for the shading frame. |
| Shading Flow Surface Blend Strength | Support-normal blend strength for shading frame orientation. Keep low for stable bark flow. |
| Bias Seam Toward Underside | Bias seam placement toward the local underside direction for root shading/flow continuity. |
| Seam Underside Follow Strength | Per-ring blend factor from previous seam toward projected underside target. Lower values are more stable. |
| Seam Vertical Fallback Dot Threshold | If |dot(forward, world up)| is above this threshold, seam underside-follow is disabled and seam continuity is frozen. |
| Use Absolute Tree Flow UV | Encode UV1.y as absolute accumulated distance across the parent-child root hierarchy instead of restarting per branch. |
Surface Interaction
| Setting | Description |
| Ground Trace Channel | Collision channel for ground tracing |
| Snap To Ground | Snap root endpoints to ground/surfaces below them |
| Snap Parent To Ground | Snap 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
| Setting | Description |
| Surface Offset | Vertical offset for surface points |
| Fallback Ground Offset | Vertical offset for ground points - when radius-adaptive burial is not being used. |
| Use Radius-Adaptive Offset | Apply the output offset based on the local root radius at each point, maintaining a more consistent burial depth. |
| Render Burial | Render-only burial applied to the final mesh path. Use Snap To Ground for surface snapping. |
| Trace Distance | Maximum trace distance for ground/surface detection in centimeters. |
| Use Secondary Ground Trace Channel | Enable a second trace channel when the primary ground trace misses. |
| Secondary Ground Trace Channel | Collision channel used by the secondary ground trace. |
Surface Interaction / Surface Crawling
| Setting | Description |
| Use Surface Crawling | Enable surface crawling to follow terrain contours |
| Trace Complex For Surface | Trace against complex collision geometry for crawl surface queries. |
| Crawl Sphere Radius Multiplier | Radius multiplier for crawl contact tests relative to local root radius. |
| Max Crawl Iterations Per Step | Maximum crawl solve iterations used per generated step. |
| Conform Parent Spline To Surface | Conform parent spline points to detected surfaces during crawl evaluation. |
| Post Snap After Crawl | Apply an additional post-crawl snap to improve final surface adherence. |
| Line Trace First For Crawling | Attempt a cheaper line trace before sphere crawl traces for each step. |
| Fast Surface Reacquire | Use a fast local reacquire pass to recover surface contact after misses. |
| Fast Reacquire Distance | Maximum distance in centimeters for fast surface reacquire checks. |
| Use Separate Query Offset | Use an explicit query offset separate from the output surface offset during crawl traces. |
| Crawl Query Offset | Vertical query offset used only for surface crawl traces when separate query offset is enabled. |
Surface Interaction / Edge Handling
| Setting | Description |
| Enable Edge Rounding | Round sharp flat-to-wall and wall-to-flat transitions by inserting a point on the angle bisector. |
| Edge Detection Threshold | When 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 Iterations | Number of binary search iterations used to find the edge location for edge rounding. |
| Edge Roundness Scale | Scales how far the inserted edge-rounding point is pushed along the corner bisector. |
| Wall Child Spawn Probability | Probability of allowing child branches (secondary/tertiary) to spawn on wall-like surfaces when encountered. |
Surface Interaction / Attraction
| Setting | Description |
| Enable Surface Attraction | Enable surface attraction to move roots towards the surface. |
| Attraction Actors | Optional attraction actors whose distributed points can pull generated roots toward them during spline growth. |
| Attraction Strength | How strongly attraction points influence the next growth direction. 0 disables the system. |
| Attraction Radius | Maximum distance from a point at which attraction can influence growth. |
| Attraction Falloff Exponent | Falloff exponent for attraction weighting. Higher values make the pull more local around each point. |
Surface Interaction / Surface Bias
| Setting | Description |
| Downward Bias | Bias toward downward growth direction |
| Max Upward Angle Deg | Maximum upward angle roots can grow |
| Parent Wall Preference | Bias for parent roots toward vertical wall-like surfaces versus flatter surfaces. |
| Use Direction-Aware Child Surface Selection | Use parent direction context when selecting crawl surfaces for child branches. |
| Child Wall Preference | Bias for child branches toward vertical wall-like surfaces during hinted surface selection. |
Simulation
| Setting | Description |
| Curvature Response | Controls curvature sensitivity in current adaptive/detail behavior. Higher values respond more strongly to curvature changes. |
Simulation / Gravitropism
| Setting | Description |
| Enable Gravitropic Behavior | Simulate gravitropic response |
| Gravitropic Strength | Strength of gravitropic steering toward downward growth. |
| Gravitropic Multiplier | Multiplier applied to overall gravitropic turning response. |
Simulation / Avoidance Behavior
| Setting | Description |
| Enable Root Avoidance | Prevent roots from growing too close to each other |
| Avoidance Radius | Local neighborhood radius used when evaluating nearby roots for avoidance. |
| Avoidance Strength | Steering strength used to push growth away from nearby roots. |
Simulation / Organic Behavior
| Setting | Description |
| Enable Organic Candidate Growth | Use field scoring so roots react to concavity, relief, crease, and exposure. |
| Organic Growth Blend | Blend between standard direction logic and organic field scoring. |
| Organic Candidate Count | Number of direction samples evaluated at each growth step. |
| Organic Concavity Probe Distance Cm | Probe distance used for concavity sampling around the current growth point. |
| Organic Relief Probe Distance Cm | Probe distance used for relief/height-variation sampling around the growth point. |
| Organic Selection Sharpness | Controls how strongly the best organic direction is favored. |
| Organic Tip Memory Strength | Directional memory retained between steps to keep trajectories coherent. |
| Organic Termination Frustration Threshold | Frustration threshold above which a tip may terminate when no suitable organic direction is found. |
| Organic Field Weights | Relative weights for concavity, relief, crease, verticality, and exposure. |
| Use Parent Area Budget | Conserve local parent cross-sectional area when spawning child roots. |
| Area Conservation Exponent | Exponent controlling how aggressively child area usage is conserved relative to the parent budget. |
| Parent Budget Resolution Cm | Sampling resolution along parent roots used for local area budget accounting. |
| Parent Budget Influence Distance Cm | Distance around a spawn location used when applying parent area budget influence. |
Branching / Spawn Spacing
| Setting | Description |
| Enable Spawn Density Check | Check density at spawn locations and skip branches in crowded areas |
| Spawn Density Radius Multiplier | Neighbor search radius multiplier used for spawn density checks. |
| Spawn Density Max Count | Maximum nearby branch count allowed before skipping a new spawn. |
| Primary Spawn Dead Zone Cm | Minimum spacing along parent root before allowing another primary spawn. |
| Secondary Spawn Dead Zone Cm | Minimum spacing along primary roots before allowing another secondary spawn. |
| Tertiary Spawn Dead Zone Cm | Minimum spacing along secondary roots before allowing another tertiary spawn. |
Simulation / Movement Variation
| Setting | Description |
| Enable Enhanced Root Noise | Replace 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 Wavelength | Primary undulation wavelength in cm. Controls the main side-to-side sweep. Longer = gentler curves. |
| Root Noise Secondary Wavelength | Secondary undulation wavelength in cm. Adds medium-frequency variation on top of the primary sweep. |
| Root Noise Tertiary Wavelength | Tertiary (long-range drift) wavelength in cm. Prevents roots from looking perfectly periodic. |
| Root Noise Forward Wavelength Scale | Forward-axis undulation wavelength multiplier. Higher = longer forward waves. |
| Root Noise Amplitude Modulation | How much Perlin amplitude modulation affects the meander. 0 = constant (mechanical), 1 = fully modulated (organic). |
| Root Noise Asymmetric Bias | Roots in soil tend to favor one side over long distances before switching. 0 = symmetric, 1 = strong one-sided preference. |
| Root Noise Asymmetric Wavelength | Wavelength of the asymmetric bias oscillation. Controls how often the root switches its preferred side. |
| Root Noise Distance Decay | How 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 Correlation | How much root thickness affects meander amplitude. Thicker roots meander less (more structural). 0 = no effect, 1 = strong correlation. |
| Root Noise Depth Seeking Strength | Subtle downward perturbation that increases with distance. Simulates roots seeking deeper soil layers. 0 = none, 1 = strong downward drift at tips. |
| Root Noise White Noise Strength | White noise contribution for irregularity. 0 = pure sine waves, higher = more randomized. |
Surface Interaction / Terrain Response
| Setting | Description |
| Enable Concavity Resistance | Detect terrain concavities and steer roots along contour lines |
| Concavity Resistance Strength | Strength of lateral steering away from concavity traps. |
| Concavity Detection Threshold | Concavity level required before anti-piling steering engages. |
| Enable Adaptive Downward Bias | Reduce downward bias when root has been consistently descending |
| Adaptive Descent Lookback | History window length used to detect sustained downward motion. |
| Adaptive Min Bias Multiplier | Minimum fraction of base downward bias retained after adaptive reduction. |
| Enable Dip Escape | Detect when root is trapped at terrain minimum and force lateral escape |
| Dip Escape Lookback | History window used to determine when the tip is trapped in a dip. |
| Dip Escape Z Threshold Multiplier | Vertical change threshold (relative to radius) used to classify dip trapping. |
| Dip Escape Max Up Angle Deg | Maximum upward steering angle allowed while executing dip escape. |
| Dip Escape Lateral Strength | Lateral steering strength applied during dip escape maneuvers. |
Branching / Validation
| Setting | Description |
| Enable Child Orientation Sanity Validation | Validate child branch orientation against sampled surface normals before accepting the branch. |
| Child Orientation Validation Min Samples | Minimum number of orientation-validation samples taken along each child spline. |
| Child Orientation Validation Max Samples | Maximum number of orientation-validation samples taken along each child spline. |
| Child Orientation Validation Reject Fraction | Reject child spline when the fraction of failed orientation samples exceeds this threshold. |
| Child Orientation Up Surface Min Dot | A sample is considered suspicious when abs(dot(Frame.Up, SupportNormal)) is below this threshold. |
| Child Orientation Right Surface Max Dot | A sample is considered suspicious when abs(dot(Frame.Right, SupportNormal)) is above this threshold. |
Simulation / Path Stability
| Setting | Description |
| Enable Anti Double Back | Prevent roots from doubling back or coiling |
| Max Turn Angle Per Segment Deg | Maximum allowed turn angle per segment before anti-coiling correction triggers. |
| Min Forward Progress Dot | Minimum forward progress dot-product required to consider movement valid. |
| Terminate On Angle Violation | Terminate a branch if repeated angle violations occur. |
| Min Segments Before Termination | Minimum generated segments required before angle-violation termination is allowed. |
| Post Crawl Angle Validation | Run angle validation again after surface crawl adjustments. |
| Post Crawl Angle Leniency Multiplier | Extra leniency multiplier for post-crawl angle validation. |
| Angle Check Smoothing Window | Smoothing window size used when evaluating recent turn angles. |
Surface Interaction / Climbing
| Setting | Description |
| Enable Surface Climbing | Allow roots to crawl up vertical and overhanging surfaces |
| Climbing Surface Threshold | Minimum surface steepness needed to switch into climbing behavior. |
| Max Climb Height Above Start | Maximum climb height above the branch start in centimeters. Use -1 for unlimited. |
| Climb Top Behavior | What the climbing root does when it reaches a flatter top-out surface: Stop, Flow Over, or Spread at Top. |
| Top Detection Threshold | Normal threshold used to detect climbing top-out surfaces. |
| Root Climb Top Spread Scale | Lateral spread after climbing reaches the top. Used when Climb Top Behavior is Spread at Top. |
| Climbing Max Upward Angle Deg | Maximum upward growth angle allowed while in climbing mode. |
Surface Interaction / Climbing / Advanced
| Setting | Description |
| Root Wall Climb Vertical Bias | Root-style ascent strength while crawling on wall-like surfaces. |
| Root Wall Approach Bias | Bias toward the nearest vertical surface while a horizontal root is still approaching a wall. |
| Root Wall Lookahead Distance | Forward sphere-sweep distance used to detect a wall directly ahead. |
| Root Wall Lookahead Strength | Strength of the steering bias applied when wall lookahead finds support. |
| Root Wall Lateral Attenuation | Lateral spread multiplier while climbing walls. |
| Root Wall Meander Attenuation | Meander multiplier while climbing walls. |
| Root Wall Seeking Bias | Bias toward nearby walls during root climbing. |
| Root Wall Seeking Search Radius | Search radius used to find nearby wall-like support for climbing guidance. |
| Root Floor Phase Wall Seek Segments | Number of early flat-surface segments allowed to steer toward walls before full wall contact. |
| Root Floor Phase Wall Seek Strength | Steering strength for early floor-phase wall seeking in the Climbing profile. |
Animation
| Setting | Description |
| Bake Growth Animation Data | Bake Growth Animation data into UV3 for use with Flow-Aligned material |
| Runtime Export Quality | Controls authored-frame sample density in runtime export data. Full keeps all authored samples. |
| Runtime Animation Method | Animation method assigned to newly exported Runtime Growth Actors. Vertex Animation Texture is the optimized v3 default; Material / Shader remains available. |
| Bake Vertex Animation Texture | Bake optimized VAT textures during runtime export. Required when Runtime Animation Method is Vertex Animation Texture. |
| VAT Quality | Frame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom. |
| VAT Custom Frame Count | Custom VAT frame count used only when VAT Quality is set to Custom. |
| VAT Max Texture Width | Maximum width of the baked VAT texture. Larger widths reduce texture height but may not suit every target platform. |
| Bake VAT Normals | Also bake animated normals. Disabled by default to save memory and texture sampling cost. |
| Bake Reveal Alpha | Pack the growth-frontier reveal alpha into the VAT position texture alpha channel. |
| VAT Reveal Feather | Timeline feather used when baking reveal alpha around the growth frontier. |
| VAT Mesh Decimation Tolerance | Error-bounded simplification for the exported VAT mesh, expressed as a fraction of local branch radius. |
| Parent Growth Fraction | Fraction of the [0,1] timeline allocated to the parent root growing. The remaining time is split among child tiers. |
| Primary Growth Fraction | Fraction of the [0,1] timeline allocated to primary branches growing. |
| Secondary Growth Fraction | Fraction of the [0,1] timeline allocated to secondary branches growing. |
| Tertiary Growth Fraction | Fraction of the [0,1] timeline allocated to tertiary branches growing. Computed as remainder if 0. |
Editor
| Setting | Description |
| Auto Rebuild In Editor | Automatically regenerate roots in the editor when settings change. |
| Hide Disabled Settings | Hides all settings that can only be modified when expert mode is enabled. |
| Auto Rebuild Debounce Seconds | Delay in seconds before auto-rebuild triggers after an editable change. |
| Draw Debug Frames | Draw debug frames/axes along generated spline points in the editor viewport. |
| Draw Rejected Child Validation | Draw red reject markers and labels for child splines rejected by branch validation. |
| Draw Debug Shading Flow | Draw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache. |
| Shading Flow Debug Label Stride | Label stride for shading-flow debug text. Lower values draw more labels. |
Editor / Logging
| Setting | Description |
| Enable Generation Logging | Master toggle for generation logging. When disabled, all per-log toggles are ignored. |
| Log Generation Stats | Log high-level generation statistics after each build. |
| Log Spline Creation Details | Log detailed per-segment generation decisions. Very verbose. |
| Log Mesh Generation Details | Log mesh-generation stage details, including attach/weld diagnostics and per-stage timing. |
| Log Generation QC Details | Log post-mesh quality-control diagnostics (QC pass warnings). |
Editor / Debug
| Setting | Description |
| Debug Disable All Shape Settings | Disable taper, thickness variation, junction bulging, and surface-ring shaping while debugging. |
| Debug Use Base Taper Only For Radius | Use only the base taper curve when calculating radius. |
| Debug Hard Bypass Ring Phase Continuity | Disable ring phase continuity and use a simple cylindrical UV1 wrap. |
| Debug Log Ring Continuity Scalars | Log ring-continuity values for one representative spline per tier. |
| Debug Log Step Point Pipeline | Log representative point-generation stages for each generated tier. |
| Debug Disable Append Turn Clamp | Disable the final per-point turn clamp. |
| Debug Disable Segment Hard Cap Clamp | Disable the segment hard-cap clamp and termination check. |
| Debug Disable Edge Rounding Point Insertion | Disable edge-rounding point insertion while keeping edge detection active. |
| Debug Disable Wall Traversal Point Insertion | Disable wall-traversal point insertion while keeping detection active. |
| Debug Disable Per Step Surface Offset Adjustment | Disable per-step surface offset adjustment. |
| Debug Disable Start Surface Snap | Disable initial surface acquisition and crawl start snap. |
| Debug Disable Direction Computation | Disable per-step direction recomputation. |
| Debug Disable Organic Candidate Direction Blend | Disable organic direction blending while debugging. |
| Debug Disable Airborne Gravity Bias | Disable airborne gravity bias on the desired direction. |
| Debug Disable Collision Avoidance Deflection | Disable collision-avoidance deflection. |
| Debug Disable Pre Crawl Anti Double Back | Disable the pre-crawl double-back check. |
| Debug Disable Post Crawl Anti Double Back | Disable post-crawl double-back checks. |
| Debug Disable Non Crawl Surface Snap | Disable non-crawl surface snap traces. |
| Debug Disable Crawl Edge Seeking | Disable crawl edge-seeking bias. |
| Debug Disable Concavity Resistance | Disable concavity-resistance adjustments. |
| Debug Disable Forward Edge Detection | Disable forward edge and lip detection. |
| Debug Disable Wall Traversal Detection | Disable wall traversal handling while leaving other miss handling active. |
| Debug Disable Surface Reacquire | Disable surface reacquire after crawl misses. |
| Debug Disable Air Snap Recovery | Disable air-snap recovery after crawl miss or penetration events. |
| Debug Disable Airborne Surface Validation Snap | Disable airborne surface-validation snap. |
| Debug Disable Final Ground Check | Disable the final ground-check pass. |
| Debug Disable Spawn Density Anti Pile | Disable wall-base anti-pile checks. |
| Debug Disable Post Crawl Snap Adjustments | Disable snap corrections after crawl steps. |
| Debug Disable Under Surface Correction | Disable the final under-surface correction before append. |
| Debug Disable Pre Append Vertical Lift | Disable the small pre-append vertical lift used by crawl points. |
| Debug Disable Parent Crossing Plane Enforcement | Disable parent crossing-plane enforcement during growth. |
| Debug Disable Lip Stop Point Insertion | Disable lip-stop point insertion while preserving lip detection. |
| Debug Disable Commit Guard | Disable the final committed-point guard clamp. |
| Debug Disable Final Point Smoothing | Disable final authored-point smoothing. |
| Debug Disable Final Point Deduplication | Disable final point deduplication. |
| Debug Disable Final Surface Conformance Pass | Disable final surface-conformance adjustment. |
| Debug Disable Single Point Kink Regularization | Disable final single-point kink cleanup. |
| Debug Disable Legacy Sharp Corner Smoothing | Disable the older sharp-corner smoothing pass. |
| Debug Use UV0 For Tangent Computation | Compute mesh tangents from UV0 instead of UV1. |
| Debug Bypass Final Normals Tangents Generation | Skip final normal and tangent generation for preview debugging. |
| Use Legacy Preview Payload Mode | Use the old preview payload path for debugging older assets. |
| Debug Disable Geometry Surface Ring Flattening | Disable surface-ring flattening while keeping ring construction active. |
| Debug Disable Geometry Ring Transition Easing | Disable ring transition easing during mesh refinement. |
| Debug Disable Adaptive Ring Resampling | Disable adaptive ring resampling before mesh build. |
| Debug Disable Geometry Spike Repair | Disable geometry spike repair during frame generation. |
| Debug Use Linearized Centerline For Meshing | Mesh from a temporary linearized centerline. |
| Debug Use Raw Central Difference Tangents For Meshing | Use raw central-difference tangents for authored-path meshing. |
| Debug Disable Geometry History Averaging After RM Frames | Disable ring-basis history averaging after frame generation. |
| Debug Disable Curvature Weighted Distance Redistribution | Disable curvature-weighted distance redistribution before meshing. |
| Debug Disable Tiny Step Suppression | Disable tiny-step suppression before meshing. |
| Debug Disable Neighbor Tangent Recompute | Disable tangent recompute from neighboring points. |
| Debug Disable Late Pass Pruning | Disable 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
| Setting | Description |
| Build All | Build all generated content from the current settings. |
| Build Mesh | Regenerate the generated mesh from existing spline points. |
| Generate Static Mesh | Generates a static mesh actor from the current generated mesh. |
| Generate Runtime Actor | Export spline data to a runtime growth actor for growth playback. |
| Open Documentation | Open the Procedural Vine Generator documentation. |
| Reset to Defaults | Resets all settings to their default values |
| Overwrite Preset From Current Settings | Select an existing preset row and replace it with the current actor settings. If the preset table is missing, it will be created first. |
Components
| Setting | Description |
| Root | Root scene component for the vine generator actor <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Parent Vine Spline | Guide spline used as the parent path for vine generation <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Generated Mesh Component | Primary dynamic mesh component that displays generated vine geometry <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Placement Preview Billboard | Billboard used to preview placement/orientation in the editor <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Primary Container | Scene component parent for generated primary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Parent Container | Scene component parent for generated synthetic parent splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Secondary Container | Scene component parent for generated secondary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Tertiary Container | Scene component parent for generated tertiary branch splines <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
General
| Setting | Description |
| Preset | Select a preset row from DT_VinePresets. Includes custom presets created with New. |
| Growth Type | Enabled vine growth behavior. Climbing favors upward surface growth; Wrapping favors orbiting and conforming around support geometry. |
| Expert Mode | Show advanced/expert controls throughout the vine generator details panel. |
| Use External Spline | Use a spline from another actor as the parent vine path instead of the built-in spline |
| External Spline Actor | The actor containing the spline component to use as the parent vine |
| External Spline Component | The specific spline component from the external actor to use |
General / Presets
| Setting | Description |
| Vine Presets Table | DataTable containing vine presets (row type: FVinePresetData) |
| Apply Preset On Change | Automatically apply preset values when the preset selection changes |
| Auto Set Preset To Custom On Edit | Automatically set preset to 'Custom' when any parameter is manually edited |
General / Advanced
| Setting | Description |
| Preview Mode | Choose which vine hierarchy levels to preview: None, Parent only, Parent + Primary, or All. |
| Random Seed | Seed for random number generation. Change this to get different vine patterns |
| Advance Seed On Build Now | If enabled, each Build Now uses RandomSeed plus a transient build counter to reroll topology without mutating RandomSeed. |
| Last Build Seed Used | Debug/readback of the exact seed used by the most recent Build Now invocation. |
| Master Scale | Global scale multiplier for the entire vine system |
| Min Generated Radius | Minimum radius threshold. Vines thinner than this will not be generated |
Mesh
| Setting | Description |
| Vine Material | Material to apply to the generated vine mesh |
Mesh / Nanite
| Setting | Description |
| Enable Nanite | Enable Nanite virtualized geometry |
Mesh / Tube
| Setting | Description |
| Tube Radial Segments | Number of radial subdivisions around the vine tube |
| Tube Axial Subdivisions | Multiplier for axial sample density along each vine segment (1 = baseline) |
| Cap Tube Ends | Close the ends of vine tubes with cap geometry |
| Tube End Cap Taper | How much to taper/narrow the end caps |
| Tube Terminal Taper Length Scale | Length scale of the terminal taper stub ring appended before each non-welded cap. |
| Tube Terminal Taper Radius Scale | Radius scale of the terminal taper stub ring appended before each non-welded cap. |
Mesh / Smoothing
| Setting | Description |
| Smoothing Type | Type of mesh smoothing algorithm to apply |
| Enable Single Point Kink Regularization | Run a local point-chain regularization pass before spline assembly to target single-point kinks (smooth/merge/average) without global smoothing. |
| Smoothing Iterations | Number of smoothing passes to apply |
| Smoothing Strength | Strength of the smoothing effect |
| Smooth Boundary Vertices | Apply smoothing to vertices on mesh boundaries |
| Preserve Junction Vertices | Protect vertices at branch junctions from smoothing |
Mesh / Welding
| Setting | Description |
| Weld Branch Junctions | Merge vertices at branch connection points |
| Weld Coincident Edges | Weld vertices that lie on the same edge |
Mesh / Welding / Advanced
| Setting | Description |
| Weld Tolerance | Distance threshold for welding vertices at junctions |
| Edge Weld Tolerance | Distance threshold for welding coincident edge vertices |
Mesh / Static Mesh Export / Collision
| Setting | Description |
| Generate Collision | Generate convex hull collision geometry for the exported Static Mesh. |
| Hull Count | Target number of convex hull pieces when generating collision for the exported static mesh. |
| Max Hull Verts | Maximum vertex count allowed per generated convex hull. Higher values preserve more shape detail but cost more collision complexity. |
| Hull Precision | Precision used by convex decomposition. Higher values improve fit at higher generation cost. |
Mesh / Static Mesh Export / Advanced
| Setting | Description |
| Generated Asset Folder | Folder path where generated static mesh assets will be saved |
Mesh / Static Mesh Export
| Setting | Description |
| Recenter Pivot To Bounds Center | Move the mesh pivot to the center of its bounding box |
| Place Static Mesh | Place the generated static mesh into the level |
| Export Scope | Selects which spline scope is used for export and solo preview. |
| Export Tier Selection | Tier used when export scope is set to Selected Tier. |
| Export Spline Selection | Optional single spline selection for export. 'All Splines' exports the full generated mesh. |
| Export Ancestor Chain As Combined Asset | When exporting branch + ancestors, also produce one combined asset for the full chain. |
| Export Ancestor Chain As Separate Assets | When exporting branch + ancestors, also produce one separate asset per spline in the chain. |
| Preview Selected Export Spline | If enabled, selecting a single spline for export will also preview only that spline in the editor viewport. |
| Show Non Selected Splines In Solo Preview | When solo export preview is active, keep non-selected splines visible as thin editor debug splines. |
Animation
| Setting | Description |
| Runtime Export Quality | Controls authored-frame sample density in runtime export data. Full keeps all authored samples. |
| Bake Growth Animation Data | Bake Animation data into UV3 for runtime growth playback |
| Runtime Animation Method | Animation method assigned to newly exported Runtime Growth Actors. Vertex Animation Texture is the optimized v3 default; Material / Shader remains available. |
| Bake Vertex Animation Texture | Bake VAT data during runtime export. |
| VAT Quality | Frame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom. |
| VAT Custom Frame Count | Custom VAT frame count used only when VAT Quality is set to Custom. |
| VAT Max Texture Width | Maximum width of the baked VAT texture. Vertices exceeding this width wrap into additional rows. |
| Bake VAT Normals | Also bake an animated normal texture. |
| Bake Reveal Alpha | Pack reveal alpha into the VAT alpha channel. |
| VAT Reveal Feather | Timeline feather used when baking reveal alpha around the growth frontier. |
| VAT Mesh Decimation Tolerance | Error-bounded simplification for the exported VAT mesh, expressed as a fraction of local branch radius. |
| Parent Growth Fraction | Fraction of the [0,1] timeline allocated to parent/guide vine growth. |
| Primary Growth Fraction | Fraction of the [0,1] timeline allocated to primary branches growing. |
| Secondary Growth Fraction | Fraction of the [0,1] timeline allocated to secondary branches growing. |
| Tertiary Growth Fraction | Fraction of the [0,1] timeline allocated to tertiary branches growing. Computed as remainder if 0. |
Mesh / Interior Face Removal
| Setting | Description |
| Remove Interior Faces | Remove mesh triangles whose centroids are inside another vine's tube volume |
Mesh / Interior Face Removal / Advanced
| Setting | Description |
| Interior Removal Mode | RemoveAll: remove any face inside another tube. RemoveSmaller: only remove from the thinner vine |
| Interior Test Radius Scale | Scale factor for the containment test radius |
| Preserve Junction Faces | Preserve faces near branch junction points |
| Junction Preserve Radius Multiplier | Radius around junction points within which faces are preserved |
| Interior Test Sample Spacing | Spacing between centerline samples used for containment testing |
| Junction Start Exclusion Fraction | Fraction of child spline length from start where faces are never removed |
Branching / Parent
| Setting | Description |
| Vine Base Thickness | Starting thickness/radius of the Parent vine at its base |
| Parent Count | Number of generated parent splines. |
| Parent Length | Target length (cm) of each generated parent spline. |
| Parent Thickness | Starting thickness/radius of generated parent splines. |
| Parent Spread Angle Deg | Angular spread used when distributing parent launch directions around the guide hub. |
| Parent Target Segment Length | Target segment length (cm) for generated parent splines. |
| Parent Spline Smoothing Passes | Smoothing passes applied to generated parent splines. |
| Parent Launch Stub Length | Soft-start length (cm) near the guide hub. |
| Parent Min Angular Separation Deg | Minimum angular separation between parent launch directions. |
| Parents Use Surface Projection | Project generated parents toward nearby support surfaces. |
| Parents Participate In Avoidance | Include generated parents in avoidance checks. |
| Min Segment Fraction | Minimum fraction of each branch length that must be represented by crawl/generation segments. |
Branching / Parent / Advanced
| Setting | Description |
| Wall Child Spawn Probability | Probability that a child branch spawns when the parent vine is on a wall surface. |
| Transition Zone Lookahead | Distance in centimeters used to evaluate dominant surface context near flat-to-wall transitions. |
| Transition Detection Threshold | Dot threshold used to detect a surface transition zone between adjacent samples. |
Branching / Anchor
| Setting | Description |
| Enable Anchor Branches | Generate 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 Cm | Average distance between anchor attempts along the parent vine. |
| Anchor Spacing Jitter | Randomized spacing variation so anchors do not land on a perfectly regular interval. |
| Anchor Length | Target length of generated vine anchors. |
| Anchor Length Variation | Per-anchor random length variation. |
| Anchor Start Radius Frac | Anchor base radius as a fraction of the parent radius at the spawn point. |
| Anchor Taper | Radius falloff from anchor base to tip. |
| Anchor Tip Taper Multiplier | Extra tip thinning applied at the end of the anchor. |
| Anchor Min Surface Verticality | Minimum support steepness needed before vine anchors can be placed. |
| Anchor Spread Cone Deg | Cone angle used when choosing anchor directions around the support normal. |
| Anchor Surface Hug Strength | How strongly each anchor bends back toward the contacted surface. |
| Anchor Target Segment Length | Preferred segment length for generated anchor splines. |
| Anchor Burial Depth Frac | Small inward offset used to seat anchors into the support instead of leaving them visibly floating. |
Branching / Anchor / Fiber
| Setting | Description |
| Fibers Per Anchor | Number of fine fiber splines that can be generated from each vine anchor. |
| Fiber Length | Target length for the fine anchor fibers. |
| Fiber Length Variation | Per-fiber length randomization. |
| Fiber Start Radius Frac | Fiber base radius as a fraction of the anchor radius. |
| Fiber Taper | Radius falloff along each fiber. |
| Fiber Spread Cone Deg | Spread cone used when distributing fibers around the anchor contact point. |
| Fiber Surface Hug Strength | How strongly fibers conform toward the support surface. |
Branching / Children
| Setting | Description |
| Reject Backward Child Branches | Reject child-branch candidates that turn back against the parent direction strongly enough to read as a reversal. |
Branching / Dynamic Length
| Setting | Description |
| Enable Dynamic Branch Length | Let branch length respond to the top-transition/drape context instead of using only fixed tier lengths. |
| Dynamic Drape Top Travel Parent Cm | Additional travel budget available to parent vines during drape-over-top motion. |
| Dynamic Drape Top Travel Primary Cm | Additional travel budget for primary branches near top drape transitions. |
| Dynamic Drape Top Travel Secondary Cm | Additional travel budget for secondary branches near top drape transitions. |
| Dynamic Drape Top Travel Tertiary Cm | Additional travel budget for tertiary branches near top drape transitions. |
Branching / Primary
| Setting | Description |
| Enable Primary | Enable generation of primary vine branches |
| Primary per Parent | Number of primary branches generated per parent spline. |
| Primary Length | Length of primary vine branches. |
| Primary Thickness | Base radius at the start of each primary vine branch. |
Branching / Primary / Legacy
| Setting | Description |
| Primary Density | Deprecated legacy primary density control kept for backward compatibility. |
Branching / Primary / Advanced
| Setting | Description |
| Primary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. |
| Primary Taper | Rate at which primary vine branches thin from base to tip. |
| Primary Tip Taper Multiplier | Additional taper multiplier applied near the primary vine branch tip. |
| Primary Target Segment Length | Target segment length for primary vine branch mesh generation. |
| Primary Meander Strength | Random meander strength for primary vine branch paths. |
| Primary Direction Preference | How strongly primary vine branches keep their initial launch direction. |
| Primary Spline Smoothing Passes | Smoothing passes applied to generated primary vine spline paths. |
| Primary Length Variation | Random length variation for primary branches as a normalized fraction of base length. |
| Primary Thickness Variation Min | Minimum multiplicative thickness variation for primary branches. |
| Primary Thickness Variation Max | Maximum multiplicative thickness variation for primary branches. |
| Primary Taper Variation Min | Minimum taper variation multiplier for primary branches. |
| Primary Taper Variation Max | Maximum taper variation multiplier for primary branches. |
Branching / Secondary
| Setting | Description |
| Enable Secondary | Enable generation of secondary vine branches. |
| Secondary Per Primary | Number of secondary branches to attempt per primary branch. |
| Secondary Length | Length of secondary vine branches. |
| Secondary Thickness | Base radius at the start of each secondary vine branch. |
Branching / Secondary / Advanced
| Setting | Description |
| Secondary Spread Angle Deg | Maximum spread angle in degrees from the parent direction. |
| Secondary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. |
| Secondary Taper | Rate at which secondary branches taper from base to tip. |
| Secondary Tip Taper Multiplier | Additional taper multiplier near the secondary branch tip. |
| Secondary Target Segment Length | Target segment length for secondary branch mesh generation. |
| Secondary Meander Strength | Random meander strength for secondary branch paths. |
| Secondary Direction Preference | How strongly secondary branches keep their initial launch direction. |
| Secondary Spline Smoothing Passes | Smoothing passes applied to generated secondary spline paths. |
| Secondary Length Variation | Random length variation for secondary branches as a normalized fraction of base length. |
| Min Angle Between Consecutive Secondary | Minimum angle in degrees between consecutive secondary branch launch directions around the same parent. |
| Secondary Thickness Variation Min | Minimum multiplicative thickness variation for secondary branches. |
| Secondary Thickness Variation Max | Maximum multiplicative thickness variation for secondary branches. |
| Secondary Taper Variation Min | Minimum taper variation multiplier for secondary branches. |
| Secondary Taper Variation Max | Maximum taper variation multiplier for secondary branches. |
Branching / Tertiary
| Setting | Description |
| Enable Tertiary | Enable generation of tertiary vine branches. |
| Tertiary Per Secondary | Number of tertiary branches to attempt per secondary branch. |
| Tertiary Length | Length of tertiary vine branches. |
| Tertiary Thickness | Base radius at the start of each tertiary vine branch. |
Branching / Tertiary / Advanced
| Setting | Description |
| Tertiary Spread Angle Deg | Maximum spread angle in degrees from the parent direction. |
| Tertiary Max Child Radius Frac | Maximum child radius as a fraction of the parent radius at the spawn point. |
| Tertiary Taper | Rate at which tertiary branches taper from base to tip. |
| Tertiary Tip Taper Multiplier | Additional taper multiplier near the tertiary branch tip. |
| Tertiary Target Segment Length | Target segment length for tertiary branch mesh generation. |
| Tertiary Meander Strength | Random meander strength for tertiary branch paths. |
| Tertiary Direction Preference | How strongly tertiary branches keep their initial launch direction. |
| Tertiary Spline Smoothing Passes | Smoothing passes applied to generated tertiary spline paths. |
| Tertiary Length Variation | Random length variation for tertiary branches as a normalized fraction of base length. |
| Min Angle Between Consecutive Tertiary | Minimum angle in degrees between consecutive tertiary branch launch directions around the same parent. |
| Tertiary Thickness Variation Min | Minimum multiplicative thickness variation for tertiary branches. |
| Tertiary Thickness Variation Max | Maximum multiplicative thickness variation for tertiary branches. |
| Tertiary Taper Variation Min | Minimum taper variation multiplier for tertiary branches. |
| Tertiary Taper Variation Max | Maximum taper variation multiplier for tertiary branches. |
Shape
| Setting | Description |
| Enable Variation | Enable random variation in branch thickness and taper |
| Variation Strength | Global strength multiplier for all variation effects |
Shape / Advanced / Thickness
| Setting | Description |
| Enable Organic Thickness Variation | Add procedural noise-based thickness variations |
| Organic Thickness Noise Strength | Strength of procedural noise-based thickness variation along vines. |
| Organic Thickness Noise Frequency | Frequency of procedural noise used for thickness variation. |
| Use Advanced Taper Curve | Use a power curve for taper instead of linear interpolation. |
| Taper Curve Power | Exponent used by the advanced taper curve. Higher values keep vines thicker for longer. |
| Use Length Based Thickening | Scale thickness based on branch length. |
| Length Thickness Scale | Strength of length-based thickness scaling. |
Shape / Flow
| Setting | Description |
| Enable Hierarchical Flow Inheritance | Use a dedicated shading/UV flow frame and parent-attachment inheritance for bark continuity. |
| Junction Flow Blend Distance Cm | Distance from a child branch start over which shading orientation/phase eases from parent-aligned values into local branch values. |
| Shading Flow History Window | History window used only by the shading frame. Larger values produce calmer bark/grain flow. |
| Shading Flow Max Forward Delta Deg | Maximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots. |
| Shading Flow Max Seam Delta Deg | Maximum seam-phase rotation per ring in degrees for the shading frame. |
| Shading Flow Surface Blend Strength | Support-normal blend strength for shading frame orientation. Keep low for stable bark flow. |
| Use Absolute Tree Flow UV | Encode UV1.y as absolute accumulated distance across the parent-child vine hierarchy instead of restarting per branch. |
| Curvature Adaptive Threshold | Curvature-adaptive sampling threshold used for authored frame and ring placement. Lower values increase samples in curved areas. |
Surface Interaction / Surface Seeking / Tracing
| Setting | Description |
| Trace Channel | Collision channel for surface tracing |
| Use Secondary Trace Channel | Use a secondary trace channel when the primary trace misses. |
| Secondary Trace Channel | Secondary collision trace channel used when the primary trace does not hit |
| Trace Complex | Use complex collision for surface tracing |
| Trace Distance | Maximum trace distance in centimeters used to find surfaces during crawling. |
| Surface Seek Radius | Radius to search for nearby surfaces |
| Surface Offset | Offset from the surface to place spline - This is applied uniformly across all the points regardless of tube radius |
| Use Radius-Adaptive Offset | Apply 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
| Setting | Description |
| Wall Climb Vertical Bias | Balance between vertical climbing and lateral spreading on wall surfaces. |
| Wall Lateral Attenuation | Multiplier for lateral spread on wall surfaces. Lower values suppress sideways drift. |
| Wall Meander Attenuation | Multiplier for meander strength while vines are on wall surfaces. |
| Wall Seeking Bias | Bias toward nearby walls when launching growth from flat surfaces. |
| Wall Seeking Search Radius | Maximum wall-search distance used when biasing vine spawn direction toward walls. |
| Floor Phase Wall Seek Segments | Number of early flat-surface segments that actively steer toward the nearest wall. |
| Floor Phase Wall Seek Strength | Steering strength for floor-phase wall seeking. |
Surface Interaction / Edge Handling
| Setting | Description |
| Enable Edge Rounding | Insert an edge-rounding point on sharp surface transitions so vines wrap around corners instead of cutting through them. |
Surface Interaction / Edge Handling / Advanced
| Setting | Description |
| Edge Detection Threshold | Normal-delta threshold used to detect an edge transition between crawl steps. Lower values detect gentler edges. |
| Edge Search Iterations | Binary search iterations used to locate the edge point more precisely. |
| Edge Rounding Bisector Scale | Scale applied to bisector displacement when placing rounded edge points. |
Surface Interaction / Anti-Double-Back
| Setting | Description |
| Enable Anti Double Back | Prevent vines from reversing direction or looping back on themselves during crawl growth. |
| Anti Double Back Max Turn Angle Deg | Maximum turn angle in degrees allowed per segment before anti-double-back logic intervenes. |
| Anti Double Back Min Progress Dot | Minimum forward progress dot threshold for anti-double-back validation. |
| Anti Double Back Terminate On Violation | Terminate spline generation when anti-double-back rules are violated instead of clamping direction. |
| Anti Double Back Min Segments Before Termination | Minimum number of segments that must be generated before termination-on-violation can occur. |
| Anti Double Back Smoothing Window | Window size used to smooth direction history for anti-double-back checks. |
| Anti Double Back Post Crawl Validation | Run anti-double-back validation after crawl adjustments as an additional safety check. |
| Anti Double Back Post Crawl Leniency | Leniency multiplier applied to post-crawl anti-double-back validation. |
Surface Interaction / Self-Avoidance
| Setting | Description |
| Enable Self Avoidance During Growth | Enable self-avoidance steering so vines deflect away from their earlier segments. |
| Self Avoidance Radius | Radius multiplier used when testing proximity to previous segments for self-avoidance. |
| Self Avoidance Strength | Strength of self-avoidance steering force applied during growth. |
Surface Interaction / Surface Crawling / Advanced
| Setting | Description |
| Crawl Sphere Radius Multiplier | Multiplier for the crawl sphere radius relative to vine thickness |
| Max Crawl Iterations Per Step | Maximum crawl iterations per growth step |
| Use Separate Query Offset | Use a separate query offset for crawl sweeps |
| Crawl Query Offset | Offset distance for crawl query sweeps |
| Use Curvature-Aware Crawling | Shortens crawl step size as the surface normal changes more sharply, producing rounder wall/ledge transitions on faceted collision. |
| Curvature Crawl Min Step Scale | Minimum crawl step scale used on high-curvature transitions. Lower values hug corners more tightly. |
| Curvature Normal Blend | Blend factor used when interpolating normal estimates for curvature-aware crawling. |
| Curvature Normal Sample Radius Scale | Probe radius scale used when sampling nearby normals for curvature-aware crawling. |
| Curvature Normal Samples Per Side | Number of normal probes sampled per side for curvature-aware interpolation. |
Simulation
| Setting | Description |
| Upward Bias | Bias toward upward growth. Higher values make vines climb more aggressively |
| Max Upward Angle Deg | Maximum upward angle vines can grow |
| Max Climb Height | Maximum climb height above start point. -1 = unlimited |
| Top Behavior | Behavior when a vine reaches the top of a surface |
| Top Detection Threshold | Threshold for detecting top surfaces (dot product with up vector) |
| Tip Droop Strength | Strength of downward droop near vine tips |
| Droop Start Fraction | Fraction along vine length where droop begins |
| Lateral Spread | Amount of lateral spread/wandering |
| Vine Meander Strength | Strength of random meandering in vine paths |
| Stagnation Lookback | If the vine hasn't moved more than StagnationDistanceThreshold in this many consecutive segments, terminate or attempt to climb over |
| Stagnation Distance Threshold | Minimum distance the vine must travel over StagnationLookback segments. If less, the vine is considered stagnant. 0 = auto (based on step size) |
| Max Climb Over Attempts | Number of attempts to climb over an obstacle before terminating |
Shape / Junctions
| Setting | Description |
| Enable Junction Bulging | Add thickness bulges at branch junctions |
| Junction Bulge Strength | Radius multiplier at branch junctions. 1.0 = no bulge, 1.2 = subtle, 1.5 = pronounced. |
| Junction Bulge Distance | Falloff distance for junction bulge, as a multiplier of the local radius. Higher = wider bulge zone. |
Simulation / Avoidance Behavior
| Setting | Description |
| Enable Avoidance | Prevent vines from growing too close to each other |
| Avoidance Radius | Distance multiplier used for inter-vine avoidance checks. |
| Avoidance Strength | Strength of directional deflection applied by inter-vine avoidance. |
Surface Interaction / Off-Surface / Aerial Growth
| Setting | Description |
| Allow Aerial Growth | Allow vines to continue growing when no surface is found |
| Max Aerial Segments | Maximum consecutive segments without surface contact |
Surface Interaction / Surface Wrap-Around
| Setting | Description |
| Allow Surface Wrap Around | Allow vines to wrap around convex surfaces instead of stopping at the top |
| Wrap Around Smoothness | Smoothness threshold for wrap-around detection. Higher = more permissive wrapping |
| Wrap Orbit Strength | Strength of circumferential orbit intent while wrapping around support geometry. |
| Wrap Inward Adherence | How strongly wrapping pulls inward toward the detected support during orbit. |
| Wrap Forward Carry | Forward carry blended into orbit movement to prevent static looping. |
| Wrap Support Search Radius | Multiplier for support-frame search radius relative to current crawl seek radius. |
| Wrap Desired Coverage Turns | Desired number of turns to cover before reducing strict orbit dominance. |
| Wrap Corner Commit Strength | How strongly wrapping commits across convex support transitions and edge turns. |
| Use Wrapping Topology Overrides | Apply wrapping-only runtime topology and contact overrides without changing stored preset values. |
| Wrap Parent Count Scale | Scale generated parent count in wrapping mode. |
| Wrap Primary Count Scale | Runtime scale for primary child count in wrapping mode. |
| Wrap Secondary Count Scale | Runtime scale for secondary child count in wrapping mode. |
| Wrap Target Segment Length Scale | Runtime scale for parent/primary/secondary target segment length in wrapping mode. |
| Wrap Meander Scale | Runtime meander scale in wrapping mode to keep wraps tighter. |
| Wrap Surface Burial Depth Override | Wrapping-only runtime burial-depth target when burial override is active. |
| Wrap Disable Burial Depth | When enabled, wrapping forces effective burial depth to zero for tighter visible support contact. |
| Wrap Crawl Radius Scale | Runtime scale for crawl/support search radius in wrapping mode. |
| Wrap Extra Edge Search Iterations | Additional edge-search refinement iterations for wrapping mode. |
Branching / Spawn Spacing / Crowding
| Setting | Description |
| Enable Spawn Density Check | Check density at spawn locations and skip branches in crowded areas |
| Spawn Density Radius Multiplier | Radius multiplier used when counting nearby splines to determine crowding. |
| Spawn Density Max Count | Maximum nearby spline count allowed at a spawn location before the spawn is skipped. |
Branching / Validation
| Setting | Description |
| Enable Child Orientation Sanity Validation | Validate child branch orientation against sampled support normals before accepting the branch. |
| Child Orientation Validation Min Samples | Minimum number of orientation-validation samples taken along each child spline. |
| Child Orientation Validation Max Samples | Maximum number of orientation-validation samples taken along each child spline. |
| Child Orientation Validation Reject Fraction | Reject child spline when the fraction of failed orientation samples exceeds this threshold. |
| Child Orientation Up Surface Min Dot | A sample is considered suspicious when abs(dot(Frame.Up, SupportNormal)) is below this threshold. |
| Child Orientation Right Surface Max Dot | A sample is considered suspicious when abs(dot(Frame.Right, SupportNormal)) is above this threshold. |
Editor
| Setting | Description |
| Auto Rebuild In Editor | Automatically regenerate vines in the editor when settings change. |
| Hide Disabled Settings | Hides all settings that can only be modified when expert mode is enabled. |
| Auto Rebuild Debounce Seconds | Delay in seconds before auto-rebuild triggers after an editable change. |
| Draw Debug Frames | Draw debug frames/axes along generated spline points in the editor viewport. |
| Draw Debug Shading Flow | Draw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache. |
| Shading Flow Debug Label Stride | Label stride for shading-flow debug text. Lower values draw more labels. |
Editor / Logging
| Setting | Description |
| Log Generation Stats | Log high-level generation statistics after each build. |
| Log Spline Creation Details | Log detailed per-segment generation decisions. Very verbose. |
Editor / Debug
| Setting | Description |
| Debug Use Linearized Centerline For Meshing | Mesh from a temporary linearized centerline. |
| Debug Use Base Taper Only For Radius | Use only the base taper curve when calculating radius. |
| Debug Hard Bypass Ring Phase Continuity | Disable ring phase continuity and use a simple cylindrical UV1 wrap. |
| Debug Use UV0 For Tangent Computation | Compute mesh tangents from UV0 instead of UV1. |
| Debug Bypass Final Normals Tangents Generation | Skip final normal and tangent generation for preview debugging. |
| Use Legacy Preview Payload Mode | Use the old preview payload path for debugging older assets. |
| Debug Disable Append Turn Clamp | Disable the final per-point turn clamp. |
| Debug Disable Segment Hard Cap Clamp | Disable the segment hard-cap clamp and termination check. |
| Debug Disable Final Vine Point Smoothing | Disable final vine-point smoothing. |
| Debug Disable Final Vine Point Deduplication | Disable final vine-point deduplication. |
| Debug Disable Final Vine Surface Conformance Pass | Disable final vine surface-conformance adjustment. |
| Debug Disable Final Vine Kink Regularization | Disable final vine kink cleanup. |
| Debug Bypass Final Vine Authored QC Rejection | Bypass final authored-point rejection checks. |
| Debug Disable Late Pass Pruning | Disable late-pass child pruning. |
| Log Wrap Diagnostics | Log wrap runtime diagnostics including phase, confidence, orbit sign, and support reacquire/corner events. |
| Draw Wrap Support Frames | Draw detected wrapping support frames (axis/normal/tangent) with phase color coding. |
Surface Interaction / Attraction
| Setting | Description |
| Attraction Actors | Optional attraction actors whose distributed points can pull generated vines toward them during growth. |
| Attraction Strength | How strongly attraction points influence vine growth. 0 disables the system. |
| Attraction Radius | Maximum distance from an attraction point at which vines are influenced. |
Surface Interaction / Attraction / Advanced
| Setting | Description |
| Attraction Falloff Exponent | Falloff exponent for attraction weighting. Higher values make the pull more localized. |
| Attraction Affects Guide Spline | Allow 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
| Setting | Description |
| Build Now | Build the generated mesh from the current settings. |
| Regenerate Mesh | Regenerate the generated mesh from existing barrier spline points. |
| Clear | Clears all generated barrier splines and mesh. |
| Create Runtime Growth Actor | Export barrier spline data to a runtime growth actor for seal and unseal playback. |
| Open Documentation | Open the Procedural Barrier Generator documentation. |
Components
| Setting | Description |
| Root | Root scene component for the actor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Opening Volume | Defines the opening or region used by the barrier generator. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Generated Mesh Component | Displays the generated result in-editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Strands Container | Container for generated barrier strand splines. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Components / Debug
| Setting | Description |
| Placement Preview Billboard | Billboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
General
| Setting | Description |
| Pattern | Barrier strand generation style. Curtain = mostly vertical, Lattice = adds lateral links, Organic = irregular web. |
| Anchor Mode | Where primary strands are anchored around the opening. |
| Endpoint Mode | How primary strands choose their targets in the opening. |
| Expert Mode | Show advanced controls throughout the barrier details panel. |
General / Advanced
| Setting | Description |
| Random Seed | Random seed for deterministic barrier generation. |
Opening
| Setting | Description |
| Seal Coverage | Overall blocked coverage. Lower values intentionally leave larger holes. |
Opening / Advanced
| Setting | Description |
| Gap Noise | Randomly perturbs strand spacing to create uneven openings and gaps. |
| Sag Amount | Downward sag in cm applied to generated strands. |
| Strand Noise | Random point jitter in cm for each generated strand point. |
Generation
| Setting | Description |
| Strand Count | Base number of primary strands before coverage filtering. |
| Enable Strand Branches | Add small organic offshoot strands from generated barrier strands. |
Generation / Advanced
| Setting | Description |
| Cross Link Density | Controls how many cross-links connect nearby strands. |
| Target Segment Length | Target spacing in cm between generated spline points. |
| Strand Branch Density | Controls how many small offshoot branches are added to barrier strands. |
| Max Strand Branches | Safety cap for generated strand offshoot branches. |
| Strand Branch Spawn Min Alpha | Minimum normalized parent spline position where offshoot branches can spawn. |
| Strand Branch Spawn Max Alpha | Maximum normalized parent spline position where offshoot branches can spawn. |
Shape
| Setting | Description |
| Strand Thickness | Starting strand radius in cm. |
Shape / Advanced
| Setting | Description |
| Strand Taper | Per-strand taper from base to tip. |
| Strand Tip Taper Multiplier | Additional taper multiplier at strand tips. |
| Cross Link Thickness Scale | Thickness multiplier for cross-link strands relative to primaries. |
| Min Generated Radius | Global minimum radius clamp in cm. |
| Use Advanced Taper Curve | Enable advanced taper curve shaping. |
| Taper Curve Power | Power for advanced taper shaping. |
| Enable Organic Thickness Variation | Enable organic thickness variation along strands. |
| Organic Thickness Noise Strength | Strength of organic thickness noise. |
| Organic Thickness Noise Frequency | Frequency of organic thickness noise along strands. |
| Use Length Based Thickening | Scale strand thickness based on strand length. |
| Length Thickness Scale | How much longer strands thicken relative to shorter strands. |
| Enable Junction Bulging | Enable localized bulging near authored junction distances. |
| Junction Bulge Strength | Bulge multiplier around junction zones. |
| Junction Bulge Distance | Distance in normalized spline space over which bulging fades. |
| Strand Branch Length Min | Minimum length in cm for generated offshoot branches. |
| Strand Branch Length Max | Maximum length in cm for generated offshoot branches. |
| Strand Branch Thickness Scale | Thickness multiplier for offshoot branches relative to primary strand thickness. |
| Strand Branch Taper | Taper from base to tip for offshoot branches. |
| Strand Branch Tip Taper Multiplier | Additional taper multiplier at the tip of offshoot branches. |
| Strand Branch Spread Angle Deg | Spread cone half-angle in degrees for offshoot direction selection. |
| Strand Branch Droop | Downward droop in cm applied to offshoot branch tips. |
Flow
| Setting | Description |
| Enable Hierarchical Flow Inheritance | Use a dedicated shading/UV flow frame and parent-attachment inheritance for strand continuity. |
| Use Absolute Tree Flow UV | Encode UV1.y as absolute accumulated distance across the parent-child strand hierarchy instead of restarting per strand. |
Flow / Advanced
| Setting | Description |
| Junction Flow Blend Distance Cm | Distance from a child strand start over which shading orientation/phase eases from parent-aligned values into local strand values. |
| Shading Flow History Window | History window used only by the shading frame. Larger values produce calmer flow. |
| Shading Flow Max Forward Delta Deg | Maximum shading-frame forward rotation per ring in degrees. Lower values reduce abrupt flow pivots. |
| Shading Flow Max Seam Delta Deg | Maximum seam-phase rotation per ring in degrees for the shading frame. |
| Shading Flow Surface Blend Strength | Support-normal blend strength for shading frame orientation. Keep low for stable flow. |
| Curvature Adaptive Threshold | Curvature-adaptive sampling threshold used for authored frame and ring placement. Lower values increase samples in curved areas. |
Mesh
| Setting | Description |
| Barrier Material | Material assigned to generated barrier mesh. |
Mesh / Advanced
| Setting | Description |
| Tube Radial Segments | Radial subdivisions per tube ring. |
| Tube Axial Subdivisions | Multiplier for axial sample density per authored spline segment (1 = baseline). |
| Cap Tube Ends | Close strand start/end with cap geometry. |
| Tube End Cap Taper | Tip cap taper amount. |
| Smoothing Type | Optional smoothing for generated barrier mesh. |
| Smoothing Iterations | Smoothing iteration count. |
| Smoothing Strength | Smoothing strength. |
| Smooth Boundary Vertices | Allow smoothing to move mesh boundary vertices. |
| Preserve Junction Vertices | Preserve attachment/junction vertices during smoothing. |
Animation
| Setting | Description |
| Bake Growth Animation Data | Bake per-vertex growth timing into UV3 for runtime seal/unseal playback. |
| Runtime Export Quality | Controls authored-frame sample density in runtime export data. Full keeps all authored samples. |
| Runtime Animation Method | Animation method assigned to newly exported Runtime Growth Actors. |
| Bake Vertex Animation Texture | Bake VAT data during runtime export. |
| VAT Quality | Frame-count preset for the baked VAT: Low 24, Medium 48, High 64, Cinematic 96, or Custom. |
| VAT Custom Frame Count | Custom VAT frame count used only when VAT Quality is set to Custom. |
| VAT Max Texture Width | Maximum width of the baked VAT texture. Vertices exceeding this width wrap into additional rows. |
| Bake VAT Normals | Also bake an animated normal texture. |
| Bake Reveal Alpha | Pack reveal alpha into the VAT alpha channel. |
| VAT Reveal Feather | Timeline feather used when baking reveal alpha around the growth frontier. |
Animation / Advanced
| Setting | Description |
| Primary Growth Fraction | Fraction of timeline allocated to primary strands. |
| Cross Link Growth Fraction | Fraction of timeline allocated to cross-link strands. |
Export
| Setting | Description |
| Generated Asset Folder | Folder path where generated growth data assets will be saved. |
| Export Scope | Selects which strand scope is used for runtime export. |
| Export Tier Selection | Tier used when export scope is set to Selected Tier. |
| Export Spline Selection | Optional single strand selection for export. 'All Splines' exports the full generated barrier. |
| Export Ancestor Chain As Combined Asset | When exporting branch + ancestors, also include one combined runtime export chain. |
| Export Ancestor Chain As Separate Assets | Reserved for parity with root/vine export controls. |
Editor
| Setting | Description |
| Auto Rebuild In Editor | Automatically regenerate the barrier in the editor when settings change. |
| Auto Rebuild Debounce Seconds | Delay in seconds before auto-rebuild triggers after an editable change. |
| Draw Debug Frames | Draw debug frames/axes along generated spline points in the editor viewport. |
| Show Generated Strand Splines After Build | Keep generated strand splines visually emphasized after build for debugging. |
| Draw Debug Shading Flow | Draw shading-flow diagnostics (forward/up vectors plus seam/twist/flow labels) from the authored flow cache. |
| Shading Flow Debug Label Stride | Label stride for shading-flow debug text. Lower values draw more labels. |
Editor / Logging
| Setting | Description |
| Log Generation Stats | Logs branch/mesh counts after each build. |
| Log Spline Creation Details | Log detailed per-strand flow values during mesh generation. Very verbose. |
Editor / Debug
| Setting | Description |
| Debug Use Linearized Centerline For Meshing | Mesh from a temporary linearized centerline. |
| Debug Use Base Taper Only For Radius | Use only the base taper curve when calculating radius. |
| Debug Hard Bypass Ring Phase Continuity | Disable ring phase continuity and use a simple cylindrical UV1 wrap. |
| Debug Use UV0 For Tangent Computation | Compute 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
| Setting | Description |
| Distribute Attraction Points | Generate or refresh attraction points using the current scatter settings. |
| Clear Attraction Points | Remove all generated attraction points from this actor. |
| Get Attraction Points | Get the generated world-space attraction points. |
Components
| Setting | Description |
| Root | Root scene component for the actor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Scatter Bounds | Box component used by the Attraction Actor for area scattering. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Components / Editor
| Setting | Description |
| Placement Preview Billboard | Billboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Point Preview Component | Editor preview component used to display generated attraction points. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Projection Debug Line Batcher | Editor debug line batcher used to draw the local-down projection direction. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Scatter
| Setting | Description |
| Point Count | Number of attraction points to distribute inside the bounds. |
| Box Extent | Half extents of the local point-field volume. |
| Project Points Along Local Down | Project generated samples along the volume's local down direction. |
| Projection Trace Distance | Trace distance used when projecting generated samples along the volume's local down direction. |
| Surface Offset Cm | Offset applied along the sampled surface normal after the point is generated. |
| Random Seed | Seed used for deterministic point distribution. |
| Lock Seed | When enabled, Distribute Attraction Points always uses the exact Random Seed. |
| Last Build Seed Used | Read-only seed used by the most recent distribution pass. |
| Draw Projection Direction Debug | Draw the attraction volume's local down/projection direction in the editor. |
| Attraction Points | Current 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 Data | Description |
| Payload Version | Current v3 exports use payload version 6 with saved mesh data and UV5/UV6 growth data. |
| Branches | Parent-first branch data, authored frames, radii, timing, tier index, and parent attachment metadata. |
| Authoritative Mesh Payload | Saved final mesh topology and overlay data used to reproduce the export mesh at runtime. |
| Mesh UV Layer Count | Current payloads contain 7 UV layers, including flow, growth timing, VAT lookup, and centerline-collapse data. |
| Material / VAT Material | The normal runtime material and the optional VAT-enabled material resolved during export. |
| VAT Position Texture | RGBA32F position texture used by Vertex Animation Texture playback. RGB stores final local-space position; alpha carries reveal timing when enabled. |
| VAT Normal Texture | Optional animated normal texture, generated only when Bake VAT Normals is enabled. |
| VAT Counts | Frame count, vertex count, texture width, and texture height saved for validation and runtime setup. |
| Finalized Ring Metadata | Per-frame ring width, top/bottom scale, and final shaping metadata used by runtime reconstruction and material growth. |
| Vertex Keys / Aliases | Stable FPRG_VertexKey identity data used to align authored branch vertices, runtime mesh elements, and VAT rows. |
| Default Animation Method | The 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
| Setting | Description |
| Play Growth | Start growing forward from current progress. |
| Play Growth From Start | Start growing forward from 0.0. |
| Reverse Growth | Start shrinking (reversing) from current progress toward 0.0. |
| Reverse Growth From End | Start shrinking from 1.0 toward 0.0. |
| Stop Growth | Pause playback at the current progress. |
| Reset Growth | Reset progress to 0.0 and stop playback. Mesh becomes invisible. |
| Set Fully Grown | Instantly set growth to 1.0 (fully visible). Stops playback. |
| Set Growth Progress | Directly set the growth progress. Stops playback. |
| Play In Direction | Play in the specified direction from the current progress. |
| Build | Rebuild runtime preview mesh from GrowthData now, even when automatic editor preview rebuilds are disabled. |
| Refresh Runtime Material | Recreate the runtime material instance without rebuilding geometry. |
| Clear Runtime Material Override | Clear the runtime material override and return to the material exported in GrowthData. |
Components
| Setting | Description |
| Mesh Component | Primary runtime dynamic mesh component for committed grown geometry. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Tip Mesh Component | Secondary runtime dynamic mesh component used for the active growth tip. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
| Proximity Trigger | Sphere trigger used for proximity-driven playback. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Components / Editor
| Setting | Description |
| Placement Preview Billboard | Billboard used to show actor placement/orientation in the editor. <span class="w3-text-grey">(Read-only, Blueprint read-only)</span> |
Data
| Setting | Description |
| Growth Data | The exported growth data asset from the authoring actor (Root, Vine, or Barrier). |
| Source Type | Whether this growth data was authored from a Root, Vine, or Barrier actor. |
| Source Actor Name | Name of the authoring actor that produced the currently assigned growth data. |
| Total Branches | Read-only branch count contained in the currently assigned growth data. |
Animation
| Setting | Description |
| Animation Method | Runtime playback method. Vertex Animation Texture is the optimized default for v3 Growth Data with a valid VAT payload. |
| Vertex Animation Texture | Uses a fully grown mesh plus a VAT position texture for animated growth. This avoids rebuilding mesh sections every frame. |
| Material / Shader | Uses 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
| Setting | Description |
| Growth Duration | Total seconds for the full growth animation from 0%% to 100%%. |
| Playback Rate | Speed multiplier applied on top of GrowthDuration. 2.0 = twice as fast. |
| Easing | Easing function applied to the growth timeline. |
| Custom Easing Curve | Custom easing curve. X axis = raw progress (0-1), Y axis = eased progress (0-1). |
| Start Delay | Seconds to wait before the animation begins after PlayGrowth is called. |
| Auto Play On Begin Play | Automatically start growth animation on BeginPlay. |
| Loop | Automatically restart growth when it finishes. |
| Ping Pong | When looping, reverse direction each cycle (grow then shrink then grow...). |
| Growth Direction | Direction of growth when using AutoPlay or editor preview scrubbing. |
Timing / Advanced
| Setting | Description |
| Use Hierarchical Runtime Branch Scheduling | Enable runtime-derived branch timing. When disabled, playback uses the authored timing from Growth Data. |
| Log Runtime Branch Scheduling | Log authored and runtime branch scheduling values when playback caches are rebuilt. |
Editor / Debug
| Setting | Description |
| Log Branch Schedule Diagnostics | Log per-branch authored, attachment, and scheduled timing diagnostics after rebuilding runtime schedule. |
Editor Preview
| Setting | Description |
| Editor Preview Progress | Preview the growth state in the editor. 1.0 = fully visible. Adjusting this in the editor will update the mesh preview. |
| Enable Editor Preview Rebuilds | Enable editor preview mesh rebuilds. Keep disabled for normal editing. |
Trigger
| Setting | Description |
| Use Proximity Trigger | Enable the built-in proximity sphere trigger. Disable this if you want to trigger growth from your own Blueprint/code. |
| Trigger Radius | Radius of the proximity trigger sphere (in cm). |
| Only Play Once | Only allow the growth animation to trigger once. |
| Trigger Direction | Direction to play when triggered by proximity. |
State
| Setting | Description |
| Growth Progress | Current growth progress from 0.0 (invisible) to 1.0 (fully grown). |
| Is Playing | Read-only. True while a forward or reverse growth animation is actively playing. |
| Is Reversing | Read-only. True when the actor is playing in reverse (shrinking back toward 0.0). |
| Has Completed | Read-only. True once forward growth has reached 1.0 and stopped. |
| Has Reversed | Read-only. True once reverse growth has fully unwound back to 0.0 and stopped. |
Events
| Setting | Description |
| On Growth Finished | Fired when forward growth reaches 1.0. |
| On Growth Reversed | Fired when reverse growth reaches 0.0. |
| On Growth Started | Fired when playback starts (forward or reverse). |
| On Growth Stopped | Fired when playback is stopped via StopGrowth(). |
| On Growth Progress Changed | Fired every tick while playing. Passes current progress. |
Rendering
| Setting | Description |
| Max Displacement Cm | Max displacement magnitude in cm. Must match your material's WPO displacement range. |
| Runtime Material Override | Optional material used by Material / Shader reveal mode. |
| Runtime VAT Material Override | Optional VAT-enabled material instance used for Vertex Animation Texture playback. |
| Shader Growth Feather | Smoothstep feather width around each vertex appear time when using Material / Shader playback. |
| Shader Growth Hidden Offset | World-space offset applied to unborn geometry when using Material / Shader playback. |
| Animation Shadow Mode | Shadow update mode during growth animation. |
| Shadow Update Interval | Minimum interval between shadow map updates during animation. |
| Cast Shadows | Whether this mesh casts shadows. Disable for best animation quality. |
| Cast Two Sided Shadows | Two-sided shadows reduce self-shadowing on thin tube geometry. |
| Disable Indirect Shadows During Animation | Disable 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