CMB Track Designer


Directly edits Unity TerrainData heightmap beneath the track, with pixel-accurate ... Requirements / Notes ... No external package dependencies ... Barriers — four types in one tool:


by cuteminibox


Price History +

CMB Track Designer is a spline-based level design toolkit for Unity that lets you build complete race circuits without manual modelling

Architecture

  • Clean three-layer pattern per element: Spline (data + math) → MeshGenerator (procedural geometry) → Editor (scene interaction). A single CMBTrackDesignerWindow (EditorWindow) ties everything together and auto-detects the selected component.
  • All code lives in the CMB.TrackDesigner namespace, split into Scripts/Runtime and Scripts/Editor (editor code is properly separated so it strips from builds).

Splines

  • Catmull-Rom interpolation through control points stored in local space (moves with the Transform).
  • Adjustable sampling resolution (lengthRefinement); open or closed-loop.
  • Parallel-transport frame (right/up vectors) with flip-prevention for stable orientation around curves.
  • Optional lockToGroundY to flatten to a ground height, or free 3D elevation following point Y.

Mesh generation

  • Fully procedural, rebuilt on demand. Meshes written to child GameObjects with MeshFilter / MeshRenderer / MeshCollider.
  • Track: beveled cross-section slab, per-ring camber rotation, double-sided geometry with correct per-face normals, UV mapping scaled to track width, separate sub-lines mesh for centre/lane markings.
  • Barriers: swept profiles (W-beam corrugation, box beams), submesh-per-colour for pattern cycling, cylinder/box primitives for posts.
  • Each rebuild creates a fresh Mesh instance so duplicated objects stay independent (no shared-mesh cross-editing).
  • Vertex-colour material support via an included VertexColour shader for pattern colouring.

Editor tooling

  • Scene-view handles: click-to-select points, position handles to drag, Shift+Click to add points via raycast onto colliders or a ground plane.
  • Full Undo support (Undo.RecordObject / RegisterCreatedObjectUndo).
  • "All Options" panel renders every serialized field grouped into [Header]-based category tabs (SerializedObject-driven).
  • Bake saves generated meshes as .asset files to Assets/CMB_TrackDesigner/BakedMeshes.

Terrain

  • Directly edits Unity TerrainData heightmap beneath the track, with pixel-accurate sampling, weighted blending, configurable margin/falloff, smoothing passes, and Undo.

Requirements / Notes

  • Unity Editor tool (uses UnityEditor APIs); runtime components use [ExecuteInEditMode].
  • Materials/shader target the URP/Lit shader by default, with fallbacks.
  • No external package dependencies

CMB Track Designer


Build complete race circuits in Unity without modeling a thing. CMB Track Designer is a spline-based level design toolkit that turns a handful of control points into a fully-formed track — drag points in the Scene view and watch the geometry generate in real time.


Features


Track surface — procedural road with adjustable width, camber, beveled edges, thickness, and painted centre/lane lines. Follows elevation or locks flat.

Kerbs — striped rumble strips with configurable profile, bevels, alternating colour patterns, end caps and width tapering.

Barriers — four types in one tool:

Sweep — solid concrete/jersey-style barriers

Wire Fence — chain-link with rails, posts and dome caps

Armco — corrugated W-beam guardrails with square posts and a flip-profile option

Prefab — place any prefab along the path with spacing, stacking, staggered offsets and colour cycling

Pit Lane — a narrower branch surface with pit boxes, dashed separator lines and entry/exit tapers.

Terrain Generator — sculpts Unity terrain beneath the track to match its shape and elevation, with margin, falloff and smoothing.

Bake to mesh — export any generated element as a reusable mesh asset.

Workflow One unified editor window (Tools > CMB > Track Designer) with mode tabs for every element, quick-access controls, and a full categorised options panel. Shift-click to add points, drag to shape, hit Rebuild. Duplicate freely — each object keeps its own independent mesh.


Ideal for racing games, driving prototypes, and rapid circuit blockouts.