Ultimate Cable Network Volume
Create static cable networks between hand-placed attachment slots, Ultimate Building Toolkit buildings and Ultimate Utility Networks routes.
Installation
Enable Ultimate Cable Network Volume in Edit → Plugins and restart Unreal Editor. The engine's PCG and Procedural Mesh Component plugins are required and enabled by the descriptor. The two Hungry Ghost companion products are optional and purchased separately.
Open Tools → Ultimate Cable Network Volume → Cable Network Editor, or use the Cable Editor toolbar button. Use New volume to place a volume near the camera. Move it with the normal gizmo; resize its Network Bounds box or scale the volume to cover your street. Use positive scale on all three axes.
Enable Show Plugin Content in the Content Browser to find Materials, Presets and Examples under Ultimate Cable Network Volume. Open the supplied CableShowcase map after installation. It uses editable manual slots and does not require companion products.
First network
- Select your volume and choose Place slots (P).
- Click collision-enabled building or prop surfaces inside the volume. A slot appears outside the surface and attaches to that component, so it follows the object.
- Press Esc or Q to leave placement. Select a slot actor to edit its network type, connection capacity or direction; use Unreal's transform gizmo to move or rotate it. Alt-drag duplicates; Delete removes; Ctrl+Z undoes.
- Choose Analyse (A) to discover points and preview proposed spans. Dashed spans have not been generated yet.
- Choose Step (N) to add one cable, or Generate (G) to create the complete plan.
- Save your level. Generated mesh data is saved with the volume.
The full panel has all settings and a search box. Tab / Compact view moves common actions into a floating viewport panel. Right mouse navigation remains available while placing slots.
Appearance and layout
- Density chooses a fraction of a deterministic valid network. Raising density retains earlier connections. At zero density only locked cables remain.
- Maximum Span / Minimum Span filter physical connection distances, in centimetres.
- Extra Connections allows additional loops after the main routes link separate source groups. Increasing it makes a busier network possible; Density decides how much of that plan to use.
- Seed / Variation changes connection preference and cable appearance reproducibly.
- Sag Ratio controls midpoint drop relative to horizontal span; Sag Variation varies that drop per cable. This is a static parabolic curve, not a physics simulation.
- Radius / Radius Variation control cable thickness in centimetres.
- Palette / Color Variation colour the cable vertices. The supplied M_Cable material reads Vertex Color. A custom Material Override must read Vertex Color if you want that palette to affect it.
- Texture Repeat sets UV length scale. Curve Segments / Radial Segments control mesh resolution. Start with the defaults, then tune to the shot distance.
- Clean street / Lived-in / Dense district change density, extra connections and sag. A preset asset copies the complete network settings. Save preset creates a new asset under /Game/CableNetworks/Presets; use Save All to save it.
Automatic sources
Integration validation: Ultimate Building Toolkit 1.0.0 and Ultimate Utility Networks 1.0.0, tested together in Unreal Engine 5.8.2 / Win64. Both are optional.
Ultimate Building Toolkit: imports slots along the upper exterior façade edges of ABuildingActor buildings. It reads the actual rectangle, L-shaped, courtyard exterior or custom outline. Building Slot Spacing controls distribution; Building Roof Inset chooses the height below the roof line; Surface Offset moves anchors outside the wall. The adapter also reads Building Layout nodes on PCG components. Imported slots refresh during analysis and regeneration. Courtyard interior edges are not automatically imported; add manual slots where needed.
Ultimate Utility Networks: reads the route's generated Supports instance transforms and actual Attachments offsets. It does not use scaled mesh bounds to guess attachment height. Rebuild the utility route before analysis, and assign a support mesh so generated support instances exist. Original route cables are not removed or replaced.
Mesh sockets: sockets beginning with Cable_ are discovered on static meshes, including instanced meshes. Socket X faces outward. Change Socket Prefix if your project uses another naming convention.
Custom Blueprints: add a Cable Attachment Slot component or implement Cable Slot Provider and return points with unique stable keys, world positions, network type and capacity. Matching Network names may connect; differing names stay separate.
Automatic integration derives anchors from the companions' authored data; it does not modify or distribute either companion plugin. Building PCG imports read the authored Building Layout node and the owning actor transform. Arbitrary downstream point transforms, graph parameter overrides and nested subgraphs are not interpreted. Enable only the source types you need. Excluded Actors and actors tagged CableNetwork.Exclude are skipped.
Keep artistic control
Click a generated cable in Cable Editor mode, then use Lock / unlock (L). Blue preview lines indicate locks; yellow identifies the selected cable. A locked cable retains its sag, radius and colour through regeneration, and follows its endpoints when source slots move. A missing source produces a warning and retains the cable's last saved endpoints.
Exclude cable (X) removes the selected connection and remembers that choice. Reset Exclusions in the volume's details allows excluded connections again. Clear unlocked removes generated cables except locks, while leaving source slots untouched.
Turn off Auto Regenerate to control expensive changes manually. Otherwise the editor debounces actor and property changes before updating networks. Manual Generate/Analyse always refreshes current sources.
Clearance, bounds and practical limits
Obstruction checks sweep the curved cable against the Visibility collision channel. Ground Clearance rejects sample positions too close to collision below. Cable Separation avoids crossings between spans that do not share an endpoint. Source geometry needs appropriate collision responses; geometry that ignores Visibility cannot block cables. Slots should sit outside their mounting collision, with enough Surface Offset for the cable radius and clearance.
The volume includes slots inside its oriented bounds; the sagging cable may hang below those bounds. Only loaded actors participate. World Partition users should load the relevant region before generating. Separate volumes own separate networks and can overlap; use exclusions or disjoint bounds to avoid duplicate networks.
Each volume supports at most 2048 slots, 2048 cables, 200,000 candidate spans and a configurable mesh budget capped at 1.5 million vertices. Increase slot spacing, reduce Maximum Span, reduce mesh resolution or split large areas if the diagnostic limit is reached. Invalid settings preserve the previous generated result.
Generated cables are static visual geometry, batched into one procedural mesh section per volume. They do not simulate wind, electricity, tension or destruction, and have no gameplay collision. Editor source integrations are authoring conveniences; the saved cable geometry is what ships in a cooked level.
Troubleshooting
No slots: check volume bounds, source import toggles, loaded source actors and exclusion tags. On utility routes, rebuild supports. Manual placement needs collision.
No cables: inspect direction arrows, compatible network names, capacities, span distances and warnings. Try a larger Surface Offset if anchors intersect their own wall collision. Locked cables may consume available capacity.
Palette has no effect: use the supplied material or connect Vertex Color to your override material's colour input.
Source changed but preview is stale: select the volume and Analyse or Generate. With Auto Regenerate enabled, PCG completion schedules a refresh after generation finishes. For manual refresh, finish PCG generation before analysing the cable volume.
Support: https://www.unrealtools.com