Class ScyllaShapes
Static factory for spawning ScyllaShapeBase3D shape components on new
UnityEngine.GameObjects at runtime. Each Create* method instantiates the
matching shape UnityEngine.MonoBehaviour, sets its shape-specific
parameters, and returns the typed component for further configuration or chaining.
Inherited Members
Namespace: Scylla.Core.Util.Geom
Assembly: ScyllaCore.dll
Syntax
public static class ScyllaShapes
Remarks
This factory is the recommended entry point for creating procedural 3D shapes from code (for example: "spawn a red crate at this world position"). For shapes whose parameters need to be tweened, serialized with the scene, or edited in the Inspector, prefer adding the component directly to an existing UnityEngine.GameObject via UnityEngine.GameObject.AddComponent<T>().
All Create* methods share a common leading parameter set followed by
shape-specific parameters:
parent- optional parent UnityEngine.Transform; the new object is reparented withworldPositionStays: false.name- UnityEngine.Object.name of the spawned UnityEngine.GameObject.position,rotation,scale- world-space transform; each defaults to the identity value whennull.tint- optional per-renderer tint applied via UnityEngine.MaterialPropertyBlock without creating a material instance.material- optional custom UnityEngine.Material; overrides the cached default material on the spawned renderer.colliderMode- controls which collider (if any) is attached; see ColliderMode.
Shape-specific parameters appear after the common set and mirror the properties of the returned component. All linear dimensions are in Unity world units. Angle parameters are in degrees.
Methods
ApplyColor(GameObject, Color)
Applies a per-renderer tint to the first UnityEngine.Renderer on
target via UnityEngine.MaterialPropertyBlock. Avoids creating
leaked material instances. No-op when target is null or has no
renderer.
Declaration
public static void ApplyColor(GameObject target, Color color)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | target | The GameObject whose renderer is tinted. |
| Color | color | The color value to write. |
CreateArchway(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, int, float)
Spawns a ScyllaArchwayShape - a wall with an arched opening composed
of a rectangular lower section and a semicircular arch on top. The opening extends
to the floor (door-like passage), and the arch radius is automatically set to half
of openingWidth. All dimensions are clamped at build time so the
arch always fits inside the wall.
Declaration
public static ScyllaArchwayShape CreateArchway(Transform parent = null, string name = "Archway", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float wallLength = 4, float wallHeight = 3, float wallThickness = 0.2, float openingWidth = 1.6, float openingHeight = 1.2, int archSegments = 12, float offsetX = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | wallLength | Total length of the wall along the X axis, in world units. Defaults to |
| float | wallHeight | Total height of the wall along the Y axis, in world units. Defaults to |
| float | wallThickness | Thickness of the wall along the Z axis, in world units. Defaults to |
| float | openingWidth | Width of the archway opening, in world units. The semicircle radius equals half this value. Clamped so side columns remain. Defaults to |
| float | openingHeight | Height of the straight rectangular section below the arch, in world units. The arch sits on top of this. Defaults to |
| int | archSegments | Number of segments used to tessellate the semicircular arch. Higher values produce a smoother curve. Defaults to |
| float | offsetX | Horizontal offset of the archway centerline from the wall center, in world units. Clamped so the opening fits within the wall. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaArchwayShape | The ScyllaArchwayShape component on the newly spawned UnityEngine.GameObject. |
CreateBarrel(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, float, int, float, BarrelColoringMode)
Spawns a ScyllaBarrelShape - a lathe-profile barrel body with a convex stave silhouette around the Y axis, chamfered rings at the top and bottom rims, a protruding iron belt ring near each cap, and flat disc lids. The barrel is centered on the origin along Y.
Declaration
public static ScyllaBarrelShape CreateBarrel(Transform parent = null, string name = "Barrel", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.4, float height = 1, float chamferInset = 0.06, float chamferHeight = 0.1, float beltOutset = 0.03, float beltHeight = 0.06, int segments = 24, float beltDistanceFromCap = 0.18, BarrelColoringMode coloringMode = BarrelColoringMode.LidsBeltAndBody)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Maximum radius of the barrel body at its widest point, in world units. Defaults to |
| float | height | Total height of the barrel along the Y axis, in world units. Defaults to |
| float | chamferInset | How far the top and bottom cap-rim radius is inset from the main body radius, in world units. Defaults to |
| float | chamferHeight | Vertical extent of the chamfered section at each cap rim, in world units. Defaults to |
| float | beltOutset | How far the iron belt ring protrudes beyond the barrel body radius, in world units. Defaults to |
| float | beltHeight | Vertical thickness of each iron belt ring, in world units. Defaults to |
| int | segments | Number of edge loops around the circumference. Defaults to |
| float | beltDistanceFromCap | Distance from the top (and bottom) cap to the near edge of the adjacent iron belt ring, in world units. Defaults to |
| BarrelColoringMode | coloringMode | Per-region coloring scheme for the lids, belt rings, and barrel body. Defaults to LidsBeltAndBody. |
Returns
| Type | Description |
|---|---|
| ScyllaBarrelShape | The ScyllaBarrelShape component on the newly spawned UnityEngine.GameObject. |
CreateBollard(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, int, BollardColoringMode)
Spawns a ScyllaBollardShape - a vertical cylinder capped by a smooth
hemispherical dome, representing the classic marine, traffic, or street-furniture
bollard profile. The base of the bollard sits at y = 0.
Declaration
public static ScyllaBollardShape CreateBollard(Transform parent = null, string name = "Bollard", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.2, float bodyHeight = 0.8, int segments = 24, int capRings = 6, BollardColoringMode coloringMode = BollardColoringMode.BodyAndCap)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of both the cylindrical body and the hemispherical cap, in world units. Defaults to |
| float | bodyHeight | Height of the straight cylindrical section below the hemisphere, in world units. Total bollard height equals |
| int | segments | Number of edge loops around the circumference. Defaults to |
| int | capRings | Number of latitudinal ring subdivisions in the hemispherical cap. Higher values produce a smoother dome. Defaults to |
| BollardColoringMode | coloringMode | Per-region coloring scheme for the cylindrical body and the dome cap. Defaults to BodyAndCap. |
Returns
| Type | Description |
|---|---|
| ScyllaBollardShape | The ScyllaBollardShape component on the newly spawned UnityEngine.GameObject. |
CreateBox(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float)
Spawns a ScyllaBoxShape on a new UnityEngine.GameObject with independently controllable width, height, and depth dimensions.
Declaration
public static ScyllaBoxShape CreateBox(Transform parent = null, string name = "Box", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float height = 1, float depth = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. The new object is reparented with |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. When supplied, overrides the cached default material on the spawned renderer. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None (no collider). |
| float | width | Extent of the box along the X axis, in world units. Must be positive. Defaults to |
| float | height | Extent of the box along the Y axis, in world units. Must be positive. Defaults to |
| float | depth | Extent of the box along the Z axis, in world units. Must be positive. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaBoxShape | The ScyllaBoxShape component on the newly spawned UnityEngine.GameObject. |
CreateCappedWall(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, CappedWallColoringMode)
Spawns a ScyllaCappedWallShape - a wall with a forward-projecting
cornice or crown-molding cap at the top. The cap occupies the topmost
capHeight units of the wall height and extends forward by
capExtension beyond the front face of the wall body.
Declaration
public static ScyllaCappedWallShape CreateCappedWall(Transform parent = null, string name = "CappedWall", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 4, float height = 3, float thickness = 0.2, float capHeight = 0.3, float capExtension = 0.1, CappedWallColoringMode coloringMode = CappedWallColoringMode.WallAndCap)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Total length of the wall along the X axis, in world units. Defaults to |
| float | height | Total height of the wall (body plus cap) along the Y axis, in world units. Defaults to |
| float | thickness | Depth of the wall body along the Z axis, in world units. Defaults to |
| float | capHeight | Height of the cap section at the top of the wall, in world units. Must be less than |
| float | capExtension | How far the cap protrudes forward beyond the wall's front face, in world units. Defaults to |
| CappedWallColoringMode | coloringMode | Per-region coloring scheme for the wall body and the cap. Defaults to WallAndCap. |
Returns
| Type | Description |
|---|---|
| ScyllaCappedWallShape | The ScyllaCappedWallShape component on the newly spawned UnityEngine.GameObject. |
CreateCapsule(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, int)
Spawns a ScyllaCapsuleShape - a cylinder capped at both ends by
hemispherical domes. The total height of the shape equals the cylindrical body height
plus two times the hemisphere radius (i.e. height + 2 * radius), and the
shape is centered on the origin along Y.
Declaration
public static ScyllaCapsuleShape CreateCapsule(Transform parent = null, string name = "Capsule", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, float height = 2, int segments = 24, int capRings = 8)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the cylindrical shaft and hemispherical caps, in world units. Must be positive. Defaults to |
| float | height | Height of the straight cylindrical section only (not including the caps), in world units. Must be non-negative. Defaults to |
| int | segments | Number of longitudinal edge loops around the circumference. Defaults to |
| int | capRings | Number of latitudinal ring subdivisions in each hemispherical cap. Higher values produce smoother domes. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaCapsuleShape | The ScyllaCapsuleShape component on the newly spawned UnityEngine.GameObject. |
CreateColumn(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, float, float, float, float)
Spawns a ScyllaColumnShape - a vertical architectural column composed of three sections: a plinth base at the bottom, a cylindrical shaft in the middle, and a capital slab at the top. Where adjacent sections differ in radius, thin junction annuli are inserted automatically to close the geometry.
Declaration
public static ScyllaColumnShape CreateColumn(Transform parent = null, string name = "Column", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float shaftRadius = 0.3, float shaftHeight = 3, int shaftSegments = 24, float capitalRadius = 0.4, float capitalHeight = 0.2, float baseRadius = 0.4, float baseHeight = 0.2)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | shaftRadius | Radius of the cylindrical shaft section, in world units. Defaults to |
| float | shaftHeight | Height of the cylindrical shaft section only, in world units. Does not include the capital or base heights. Defaults to |
| int | shaftSegments | Number of edge loops around the shaft circumference. Defaults to |
| float | capitalRadius | Radius of the flat slab capital at the top of the column, in world units. A radius larger than |
| float | capitalHeight | Height of the capital slab, in world units. Pass |
| float | baseRadius | Radius of the plinth base at the bottom of the column, in world units. A radius larger than |
| float | baseHeight | Height of the plinth base, in world units. Pass |
Returns
| Type | Description |
|---|---|
| ScyllaColumnShape | The ScyllaColumnShape component on the newly spawned UnityEngine.GameObject. |
CreateCone(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int)
Spawns a ScyllaConeShape - a right circular cone with its base disc on
the XZ plane and apex pointing along +Y. The base is closed with a flat disc cap.
The shape is centered vertically so the base sits at y = 0 and the apex at
y = height.
Declaration
public static ScyllaConeShape CreateCone(Transform parent = null, string name = "Cone", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, float height = 1, int segments = 24)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the base disc, in world units. Must be positive. Defaults to |
| float | height | Height from base to apex along the Y axis, in world units. Must be positive. Defaults to |
| int | segments | Number of edge loops around the circumference of the base. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaConeShape | The ScyllaConeShape component on the newly spawned UnityEngine.GameObject. |
CreateCrate(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, CrateColoringMode)
Spawns a ScyllaCrateShape - a box whose six faces each have a mitered
picture-frame rim surrounding a recessed inset panel. The rim (trim) width along
each face edge is trimInset, and the inset panel is recessed
trimDepth behind the rim plane.
Declaration
public static ScyllaCrateShape CreateCrate(Transform parent = null, string name = "Crate", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float height = 1, float depth = 1, float trimInset = 0.08, float trimDepth = 0.03, CrateColoringMode coloringMode = CrateColoringMode.FrameAndPanels)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | width | Extent of the crate along the X axis, in world units. Defaults to |
| float | height | Extent of the crate along the Y axis, in world units. Defaults to |
| float | depth | Extent of the crate along the Z axis, in world units. Defaults to |
| float | trimInset | Width of the picture-frame rim band inward from each face edge, in world units. Defaults to |
| float | trimDepth | How far each face's inset panel is recessed behind the rim plane, in world units. Defaults to |
| CrateColoringMode | coloringMode | Per-region coloring scheme for the frame trim and the recessed panels. Defaults to FrameAndPanels. |
Returns
| Type | Description |
|---|---|
| ScyllaCrateShape | The ScyllaCrateShape component on the newly spawned UnityEngine.GameObject. |
CreateCube(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float)
Spawns a ScyllaBoxShape configured as a uniform cube (equal width,
height, and depth). Convenience wrapper around CreateBox(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float) that passes
size for all three dimensions.
Declaration
public static ScyllaBoxShape CreateCube(Transform parent = null, string name = "Cube", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float size = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | size | Side length of the cube along all three axes, in world units. Must be positive. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaBoxShape | The ScyllaBoxShape component on the newly spawned UnityEngine.GameObject. |
CreateCurvedStairs(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, float, float, float, StairsColoringMode)
Spawns a ScyllaCurvedStairsShape - a staircase flight swept around the
Y axis from 0 degrees to sweepAngle degrees. Each step
is a pie-segment tread; the flight is centered vertically so that the midpoint sits
at y = 0.
Declaration
public static ScyllaCurvedStairsShape CreateCurvedStairs(Transform parent = null, string name = "CurvedStairs", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float innerRadius = 1, int stepCount = 8, float stepHeight = 0.2, float stepWidth = 1, float sweepAngle = 90, StairsColoringMode coloringMode = StairsColoringMode.TreadsAndStructure)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | innerRadius | Radius of the inner curved edge of each step, in world units. Determines the staircase's inner bore. Defaults to |
| int | stepCount | Number of steps in the curved flight. Must be at least |
| float | stepHeight | Vertical rise of each riser, in world units. Defaults to |
| float | stepWidth | Radial depth of each tread (from inner to outer edge), in world units. Defaults to |
| float | sweepAngle | Total angular sweep of the flight around the Y axis, in degrees. |
| StairsColoringMode | coloringMode | Per-region coloring scheme for the treads and structural underside. Defaults to TreadsAndStructure. |
Returns
| Type | Description |
|---|---|
| ScyllaCurvedStairsShape | The ScyllaCurvedStairsShape component on the newly spawned UnityEngine.GameObject. |
CreateCylinder(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, bool)
Spawns a ScyllaCylinderShape - a circular prism aligned to the Y axis
and centered on the origin. When capped is true, solid
disc faces are added at both ends; when false, only the lateral surface is
emitted (open tube).
Declaration
public static ScyllaCylinderShape CreateCylinder(Transform parent = null, string name = "Cylinder", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, float height = 2, int segments = 24, bool capped = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the circular cross-section, in world units. Must be positive. Defaults to |
| float | height | Total height of the cylinder along the Y axis, in world units. Must be positive. Defaults to |
| int | segments | Number of edge loops around the circumference. Defaults to |
| bool | capped | When |
Returns
| Type | Description |
|---|---|
| ScyllaCylinderShape | The ScyllaCylinderShape component on the newly spawned UnityEngine.GameObject. |
CreateDome(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, int, bool)
Spawns a ScyllaDomeShape - the upper half of a UV sphere (a
hemisphere) with normals pointing outward. The flat equator of the dome sits at
y = 0 and the apex is at y = radius. When buildBase
is true, a flat disc closes the bottom to form a sealed solid.
Declaration
public static ScyllaDomeShape CreateDome(Transform parent = null, string name = "Dome", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, int segments = 24, int rings = 8, bool buildBase = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the dome, in world units. The apex is at |
| int | segments | Number of longitudinal edge loops around the dome equator. Defaults to |
| int | rings | Number of latitudinal ring subdivisions between the equator and the apex. Defaults to |
| bool | buildBase | When |
Returns
| Type | Description |
|---|---|
| ScyllaDomeShape | The ScyllaDomeShape component on the newly spawned UnityEngine.GameObject. |
CreateFloorTile(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, int)
Spawns a ScyllaFloorTileShape - a thin slab in the XZ plane with
optional rounded edges. The top face is at +thickness * 0.5 and the bottom
face is at -thickness * 0.5; the slab is centered on the origin. Positioning
a tile at world coordinates (cellX, 0, cellZ) therefore places its top
surface at y = +thickness * 0.5.
Declaration
public static ScyllaFloorTileShape CreateFloorTile(Transform parent = null, string name = "FloorTile", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float depth = 1, float thickness = 0.1, float bevelRadius = 0, int bevelSegments = 3)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | width | Extent of the tile along the X axis, in world units. Must be positive. Defaults to |
| float | depth | Extent of the tile along the Z axis, in world units. Must be positive. Defaults to |
| float | thickness | Slab thickness along the Y axis, in world units. Must be positive. Defaults to |
| float | bevelRadius | Radius of the rounded edge chamfer on the top and bottom perimeters, in world units. Pass |
| int | bevelSegments | Triangular subdivisions for each beveled edge. Ignored when |
Returns
| Type | Description |
|---|---|
| ScyllaFloorTileShape | The ScyllaFloorTileShape component on the newly spawned UnityEngine.GameObject. |
CreateIcoSphere(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int)
Spawns a ScyllaIcoSphereShape - a sphere built by recursively
subdividing an icosahedron. Triangle distribution is near-uniform across the
surface, in contrast with CreateSphere(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, int) which packs vertices densely
at the poles. subdivisions is clamped to [0, 5] to keep
vertex counts reasonable (subdivision 5 produces 20,480 triangles).
Declaration
public static ScyllaIcoSphereShape CreateIcoSphere(Transform parent = null, string name = "IcoSphere", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, int subdivisions = 2)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the sphere, in world units. Must be positive. Defaults to |
| int | subdivisions | Number of recursive midpoint-subdivision passes applied to the base icosahedron. Range |
Returns
| Type | Description |
|---|---|
| ScyllaIcoSphereShape | The ScyllaIcoSphereShape component on the newly spawned UnityEngine.GameObject. |
CreateLadder(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, float, float, float)
Spawns a ScyllaLadderShape - two parallel vertical cylindrical rails
joined at regular intervals by horizontal cylindrical rungs. The entire ladder is
centered on the origin so that the midpoint of the ladder height sits at
y = 0.
Declaration
public static ScyllaLadderShape CreateLadder(Transform parent = null, string name = "Ladder", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float railSpacing = 0.5, int rungCount = 8, float rungSpacing = 0.3, float railRadius = 0.04, float rungRadius = 0.03)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | railSpacing | Horizontal center-to-center distance between the two rails, in world units. Defaults to |
| int | rungCount | Number of horizontal rungs. Defaults to |
| float | rungSpacing | Vertical center-to-center distance between consecutive rungs, in world units. Defaults to |
| float | railRadius | Radius of each cylindrical rail, in world units. Defaults to |
| float | rungRadius | Radius of each cylindrical rung, in world units. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaLadderShape | The ScyllaLadderShape component on the newly spawned UnityEngine.GameObject. |
CreateLinearStairs(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, int, float, float, float, bool, StairsColoringMode)
Spawns a ScyllaLinearStairsShape - a straight staircase flight of
stepCount equal risers ascending simultaneously along +Z and +Y,
with the whole flight centered on the origin. When buildSides is
false the triangular stair-profile side cheeks are omitted, which is useful
for flights recessed between walls.
Declaration
public static ScyllaLinearStairsShape CreateLinearStairs(Transform parent = null, string name = "LinearStairs", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, int stepCount = 8, float stepHeight = 0.2, float stepDepth = 0.3, float width = 1.5, bool buildSides = true, StairsColoringMode coloringMode = StairsColoringMode.TreadsAndStructure)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| int | stepCount | Total number of steps in the flight. Must be at least |
| float | stepHeight | Height of each individual riser, in world units. Defaults to |
| float | stepDepth | Horizontal run depth of each tread, in world units. Defaults to |
| float | width | Lateral width of the staircase, in world units. Defaults to |
| bool | buildSides | When |
| StairsColoringMode | coloringMode | Per-region coloring scheme for the treads and the structural underside or side cheeks. Defaults to TreadsAndStructure. |
Returns
| Type | Description |
|---|---|
| ScyllaLinearStairsShape | The ScyllaLinearStairsShape component on the newly spawned UnityEngine.GameObject. |
CreateMesh(Transform, Mesh, string, Vector3?, Quaternion?, Vector3?, Color?, Material, bool, bool)
Spawns a bare UnityEngine.GameObject that renders a caller-supplied UnityEngine.Mesh via a UnityEngine.MeshFilter + UnityEngine.MeshRenderer. Useful for pre-built or merged meshes that the shape system has not generated (e.g. a batched floor mesh assembled from many cells).
Declaration
public static GameObject CreateMesh(Transform parent, Mesh mesh, string name = "Mesh", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, bool addCollider = false, bool doubleSided = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. |
| Mesh | mesh | The mesh to render. Ownership transfers to the GameObject. |
| string | name | Name of the spawned GameObject. |
| Vector3? | position | World-space position. Defaults to origin. |
| Quaternion? | rotation | World-space rotation. Defaults to identity. |
| Vector3? | scale | Local scale. Defaults to one. |
| Color? | tint | Optional tint applied via UnityEngine.MaterialPropertyBlock. |
| Material | material | Optional custom material; overrides the default and |
| bool | addCollider | If true, a UnityEngine.MeshCollider sharing |
| bool | doubleSided | If true and no custom material is supplied, uses the cached double-sided material. |
Returns
| Type | Description |
|---|---|
| GameObject | The spawned GameObject. |
CreateOctahedron(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float)
Spawns a ScyllaOctahedronShape - a regular octahedron (eight equilateral triangular faces) centered on the origin. Often used as a lightweight stand-in for a sphere or as a directional indicator.
Declaration
public static ScyllaOctahedronShape CreateOctahedron(Transform parent = null, string name = "Octahedron", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Distance from the center to each vertex (circumscribed radius), in world units. Must be positive. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaOctahedronShape | The ScyllaOctahedronShape component on the newly spawned UnityEngine.GameObject. |
CreatePaneledWall1(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, float, int, float, PaneledWall1ColoringMode)
Spawns a ScyllaPaneledWall1Shape - a wall with
frameCount concentric recessed picture-frame grooves on the front
face surrounding a flush central panel. The first groove is inset from the wall edges
by frameMargin, each groove is frameThickness
wide and recessed by frameDepth behind the main wall face, and
consecutive grooves are separated by raised bands of width
frameSpacing.
Declaration
public static ScyllaPaneledWall1Shape CreatePaneledWall1(Transform parent = null, string name = "PaneledWall1", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 4, float height = 3, float thickness = 0.2, float frameMargin = 0.25, float frameThickness = 0.15, float frameDepth = 0.04, int frameCount = 1, float frameSpacing = 0.1, PaneledWall1ColoringMode coloringMode = PaneledWall1ColoringMode.FrameAndPanel)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Total length of the wall along the X axis, in world units. Defaults to |
| float | height | Total height of the wall along the Y axis, in world units. Defaults to |
| float | thickness | Total depth of the wall along the Z axis, in world units. Defaults to |
| float | frameMargin | Distance from the wall outer edges to the outer edge of the frame channel, in world units. Defaults to |
| float | frameThickness | Width of the frame channel band, in world units. Defaults to |
| float | frameDepth | How far each frame channel is recessed behind the main wall face, in world units. Defaults to |
| int | frameCount | Number of concentric grooves, from the outer edge inward. |
| float | frameSpacing | Width of the raised wall band between consecutive grooves, in world units. Only used when |
| PaneledWall1ColoringMode | coloringMode | Per-region coloring scheme for the frame channel and central panel. Defaults to FrameAndPanel. |
Returns
| Type | Description |
|---|---|
| ScyllaPaneledWall1Shape | The ScyllaPaneledWall1Shape component on the newly spawned UnityEngine.GameObject. |
CreatePaneledWall2(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, int, int, float, float, float, PaneledWall2ColoringMode)
Spawns a ScyllaPaneledWall2Shape - a wall covered by a
panelRows x panelCols grid of raised
truncated-pyramid (frustum) panels that protrude outward from the front face.
Outer border margins and inter-panel gutters are calculated automatically so the
panels tile symmetrically across the full wall surface.
Declaration
public static ScyllaPaneledWall2Shape CreatePaneledWall2(Transform parent = null, string name = "PaneledWall2", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 4, float height = 3, float thickness = 0.2, int panelRows = 2, int panelCols = 2, float panelBaseSize = 1.2, float panelTopSize = 0.8, float panelExtrusion = 0.15, PaneledWall2ColoringMode coloringMode = PaneledWall2ColoringMode.WallAndPanels)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Total length of the wall along the X axis, in world units. Defaults to |
| float | height | Total height of the wall along the Y axis, in world units. Defaults to |
| float | thickness | Depth of the wall body along the Z axis, in world units. Defaults to |
| int | panelRows | Number of panel rows arranged vertically. Must be at least |
| int | panelCols | Number of panel columns arranged horizontally. Must be at least |
| float | panelBaseSize | Edge length of the panel at the base (wall face level), in world units. Defaults to |
| float | panelTopSize | Edge length of the panel at the extruded top face, in world units. A value smaller than |
| float | panelExtrusion | How far the panel protrudes from the wall face, in world units. Defaults to |
| PaneledWall2ColoringMode | coloringMode | Per-region coloring scheme for the flat wall face and the raised panel faces. Defaults to WallAndPanels. |
Returns
| Type | Description |
|---|---|
| ScyllaPaneledWall2Shape | The ScyllaPaneledWall2Shape component on the newly spawned UnityEngine.GameObject. |
CreatePipe(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, int, bool)
Spawns a ScyllaPipeShape - a hollow cylindrical tube with an outer lateral surface, an inner bore surface, and optional flat annular rings that close the top and bottom ends. The pipe is centered on the origin along Y.
Declaration
public static ScyllaPipeShape CreatePipe(Transform parent = null, string name = "Pipe", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float outerRadius = 0.5, float innerRadius = 0.35, float height = 1, int segments = 24, bool capped = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | outerRadius | Radius of the outer cylindrical surface, in world units. Must be greater than |
| float | innerRadius | Radius of the inner bore surface, in world units. Must be positive and less than |
| float | height | Height of the pipe along the Y axis, in world units. Must be positive. Defaults to |
| int | segments | Number of edge loops around the circumference. Defaults to |
| bool | capped | When |
Returns
| Type | Description |
|---|---|
| ScyllaPipeShape | The ScyllaPipeShape component on the newly spawned UnityEngine.GameObject. |
CreatePipeSegment(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, int, PipeSegmentColoringMode)
Spawns a ScyllaPipeSegmentShape - a cylindrical body capped at both ends by wider disc flanges, forming the classic plumbing or industrial pipe-segment profile. The shape is centered on the origin along Y.
Declaration
public static ScyllaPipeSegmentShape CreatePipeSegment(Transform parent = null, string name = "PipeSegment", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float bodyRadius = 0.3, float flangeRadius = 0.38, float height = 1, float flangeThickness = 0.08, int segments = 24, PipeSegmentColoringMode coloringMode = PipeSegmentColoringMode.FlangesAndBody)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | bodyRadius | Radius of the central cylindrical shaft, in world units. Must be less than |
| float | flangeRadius | Radius of the wider disc flanges at each end, in world units. Must be greater than |
| float | height | Total height of the segment (body plus both flanges) along the Y axis, in world units. Defaults to |
| float | flangeThickness | Axial thickness of each end flange disc, in world units. Defaults to |
| int | segments | Number of edge loops around the circumference. Defaults to |
| PipeSegmentColoringMode | coloringMode | Per-region coloring scheme for the flanges and the body. Defaults to FlangesAndBody. |
Returns
| Type | Description |
|---|---|
| ScyllaPipeSegmentShape | The ScyllaPipeSegmentShape component on the newly spawned UnityEngine.GameObject. |
CreatePlane(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, bool)
Spawns a ScyllaPlaneShape - a flat rectangle in the XZ plane, centered on the origin with its normal pointing +Y. Optionally subdivided into a grid for deformation or double-sided for bilateral visibility.
Declaration
public static ScyllaPlaneShape CreatePlane(Transform parent = null, string name = "Plane", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float depth = 1, int subdivisions = 0, bool doubleSided = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | width | Extent of the plane along the X axis, in world units. Must be positive. Defaults to |
| float | depth | Extent of the plane along the Z axis, in world units. Must be positive. Defaults to |
| int | subdivisions | Number of uniform grid subdivisions applied to both axes. |
| bool | doubleSided | When |
Returns
| Type | Description |
|---|---|
| ScyllaPlaneShape | The ScyllaPlaneShape component on the newly spawned UnityEngine.GameObject. |
CreatePyramid(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, int, float, float)
Spawns a ScyllaPyramidShape - a right pyramid with a regular
n-sided polygon base and triangular lateral faces converging to an apex along +Y.
Setting baseSides to 3 produces a tetrahedron; 4
produces the classic square pyramid.
Declaration
public static ScyllaPyramidShape CreatePyramid(Transform parent = null, string name = "Pyramid", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, int baseSides = 4, float radius = 0.5, float height = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| int | baseSides | Number of sides on the polygon base. Must be at least |
| float | radius | Circumscribed radius of the base polygon (distance from center to a corner vertex), in world units. Must be positive. Defaults to |
| float | height | Height from the base plane to the apex along the Y axis, in world units. Must be positive. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaPyramidShape | The ScyllaPyramidShape component on the newly spawned UnityEngine.GameObject. |
CreateQuad(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, bool)
Spawns a ScyllaQuadShape - a single flat rectangle in the XY plane (facing +Z by default), centered on the origin. Suitable for billboards, decals, or simple 2D-in-3D panels. Unlike CreatePlane(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, bool) (which lies in XZ), the quad faces the camera in the default orientation.
Declaration
public static ScyllaQuadShape CreateQuad(Transform parent = null, string name = "Quad", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float height = 1, bool doubleSided = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | width | Horizontal extent of the quad along the X axis, in world units. Must be positive. Defaults to |
| float | height | Vertical extent of the quad along the Y axis, in world units. Must be positive. Defaults to |
| bool | doubleSided | When |
Returns
| Type | Description |
|---|---|
| ScyllaQuadShape | The ScyllaQuadShape component on the newly spawned UnityEngine.GameObject. |
CreateRamp(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, bool)
Spawns a ScyllaRampShape - a wedge-shaped inclined plane that rises from
a zero-height front edge (at -length * 0.5 along Z) to the full
height at the back edge, with the shape centered on the origin.
When buildSides is false, the triangular side caps are
omitted for use between walls.
Declaration
public static ScyllaRampShape CreateRamp(Transform parent = null, string name = "Ramp", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 2, float width = 1, float height = 1, bool buildSides = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Horizontal run of the ramp along the Z axis, in world units. Must be positive. Defaults to |
| float | width | Lateral width of the ramp along the X axis, in world units. Must be positive. Defaults to |
| float | height | Vertical rise of the ramp from front to back, in world units. Must be positive. Defaults to |
| bool | buildSides | When |
Returns
| Type | Description |
|---|---|
| ScyllaRampShape | The ScyllaRampShape component on the newly spawned UnityEngine.GameObject. |
CreateRing(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, int)
Spawns a ScyllaRingShape - a hollow cylindrical tube (annular prism) with an outer cylindrical surface, an inner cylindrical bore, and flat annular cap faces at the top and bottom. Equivalent to CreatePipe(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, int, bool) but focused on thin decorative rings rather than long structural pipes.
Declaration
public static ScyllaRingShape CreateRing(Transform parent = null, string name = "Ring", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float outerRadius = 1, float innerRadius = 0.7, float height = 0.2, int segments = 32)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | outerRadius | Radius of the outer cylindrical surface, in world units. Must be greater than |
| float | innerRadius | Radius of the inner bore, in world units. Must be positive and less than |
| float | height | Height of the ring along the Y axis, in world units. Must be positive. Defaults to |
| int | segments | Number of edge loops around the circumference. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaRingShape | The ScyllaRingShape component on the newly spawned UnityEngine.GameObject. |
CreateRoundedBox(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, int, RoundedBoxColoringMode)
Spawns a ScyllaRoundedBoxShape - a box with every straight edge replaced
by a quarter-cylinder and every corner replaced by an eighth-sphere of radius
cornerRadius. The radius is automatically clamped to half the
smallest box dimension so the rounded sections never overlap.
Declaration
public static ScyllaRoundedBoxShape CreateRoundedBox(Transform parent = null, string name = "RoundedBox", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float width = 1, float height = 1, float depth = 1, float cornerRadius = 0.1, int cornerSegments = 4, RoundedBoxColoringMode coloringMode = RoundedBoxColoringMode.FrameAndPanels)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | width | Extent along the X axis, in world units. Must be positive. Defaults to |
| float | height | Extent along the Y axis, in world units. Must be positive. Defaults to |
| float | depth | Extent along the Z axis, in world units. Must be positive. Defaults to |
| float | cornerRadius | Radius of the rounded edge and corner geometry, in world units. Clamped at build time to |
| int | cornerSegments | Number of triangular subdivisions used to approximate each quarter-cylinder edge. Higher values produce smoother curves at the cost of additional triangles. Defaults to |
| RoundedBoxColoringMode | coloringMode | Per-face coloring scheme applied to the flat panels and corner/edge frame geometry. Defaults to FrameAndPanels. |
Returns
| Type | Description |
|---|---|
| ScyllaRoundedBoxShape | The ScyllaRoundedBoxShape component on the newly spawned UnityEngine.GameObject. |
CreateShelvedWall(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, int, float, ShelvedWallColoringMode)
Spawns a ScyllaShelvedWallShape - a wall with
shelfCount equally-spaced horizontal shelves extruding from the
front face. Shelf thickness, inter-shelf spacing, and top and bottom wall margins
are all auto-computed to distribute the shelves uniformly across the wall height.
Declaration
public static ScyllaShelvedWallShape CreateShelvedWall(Transform parent = null, string name = "ShelvedWall", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 4, float height = 3, float thickness = 0.2, int shelfCount = 4, float shelfDepth = 0.25, ShelvedWallColoringMode coloringMode = ShelvedWallColoringMode.WallAndShelves)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Total length of the wall along the X axis, in world units. Defaults to |
| float | height | Total height of the wall along the Y axis, in world units. Defaults to |
| float | thickness | Depth of the wall body along the Z axis, in world units. Defaults to |
| int | shelfCount | Number of equally-spaced shelves on the front face. Must be at least |
| float | shelfDepth | How far each shelf protrudes from the wall face, in world units. Defaults to |
| ShelvedWallColoringMode | coloringMode | Per-region coloring scheme for the wall body and the shelf surfaces. Defaults to WallAndShelves. |
Returns
| Type | Description |
|---|---|
| ScyllaShelvedWallShape | The ScyllaShelvedWallShape component on the newly spawned UnityEngine.GameObject. |
CreateSign(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, float, float, float, SignColoringMode)
Spawns a ScyllaSignShape - a thin rectangular sign panel mounted at the
top of a vertical cylindrical post. The post base sits at y = 0; the sign
panel is centered horizontally above it. The bounding box of the entire shape is
symmetric around the world origin.
Declaration
public static ScyllaSignShape CreateSign(Transform parent = null, string name = "Sign", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float postHeight = 1.5, float postRadius = 0.04, int postSegments = 12, float panelWidth = 0.8, float panelHeight = 0.5, float panelThickness = 0.04, SignColoringMode coloringMode = SignColoringMode.PostAndPanel)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | postHeight | Height of the vertical cylindrical post from base to top, in world units. Defaults to |
| float | postRadius | Radius of the cylindrical post, in world units. Defaults to |
| int | postSegments | Number of edge loops around the post circumference. Defaults to |
| float | panelWidth | Width of the sign panel along the X axis, in world units. Defaults to |
| float | panelHeight | Height of the sign panel along the Y axis, in world units. Defaults to |
| float | panelThickness | Depth of the sign panel along the Z axis (front-to-back thickness), in world units. Defaults to |
| SignColoringMode | coloringMode | Per-region coloring scheme for the post and the panel. Defaults to PostAndPanel. |
Returns
| Type | Description |
|---|---|
| ScyllaSignShape | The ScyllaSignShape component on the newly spawned UnityEngine.GameObject. |
CreateSkirtedWall(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, SkirtedWallColoringMode)
Spawns a ScyllaSkirtedWallShape - a wall with a forward-projecting
baseboard or plinth skirt at the bottom. The skirt occupies the bottommost
skirtHeight units of the wall height and extends forward by
skirtExtension beyond the front face of the wall body. This is
the vertical mirror of ScyllaCappedWallShape.
Declaration
public static ScyllaSkirtedWallShape CreateSkirtedWall(Transform parent = null, string name = "SkirtedWall", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 4, float height = 3, float thickness = 0.2, float skirtHeight = 0.3, float skirtExtension = 0.1, SkirtedWallColoringMode coloringMode = SkirtedWallColoringMode.WallAndSkirt)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Total length of the wall along the X axis, in world units. Defaults to |
| float | height | Total height of the wall (body plus skirt) along the Y axis, in world units. Defaults to |
| float | thickness | Depth of the wall body along the Z axis, in world units. Defaults to |
| float | skirtHeight | Height of the skirt section at the bottom of the wall, in world units. Must be less than |
| float | skirtExtension | How far the skirt protrudes forward beyond the wall's front face, in world units. Defaults to |
| SkirtedWallColoringMode | coloringMode | Per-region coloring scheme for the wall body and the skirt. Defaults to WallAndSkirt. |
Returns
| Type | Description |
|---|---|
| ScyllaSkirtedWallShape | The ScyllaSkirtedWallShape component on the newly spawned UnityEngine.GameObject. |
CreateSkyDome(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, int)
Spawns a ScyllaSkyDomeShape - an inverted hemisphere with normals
pointing inward and no bottom disc, intended to surround the camera for sky and
background rendering. The default radius is intentionally large;
set it large enough to enclose the entire play area so the horizon is never visible
through the geometry.
Declaration
public static ScyllaSkyDomeShape CreateSkyDome(Transform parent = null, string name = "SkyDome", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 50, int segments = 32, int rings = 12)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the sky dome, in world units. Should be sized to comfortably enclose the entire play area. Defaults to |
| int | segments | Number of longitudinal edge loops around the equator. Defaults to |
| int | rings | Number of latitudinal ring subdivisions between the equator and the apex. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaSkyDomeShape | The ScyllaSkyDomeShape component on the newly spawned UnityEngine.GameObject. |
CreateSphere(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, int)
Spawns a ScyllaSphereShape - a UV sphere built by sweeping rings around the Y axis. Vertices are denser near the poles than at the equator, which is the trade-off for predictable, uniform UV layout. For more even triangle distribution use CreateIcoSphere(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int) instead.
Declaration
public static ScyllaSphereShape CreateSphere(Transform parent = null, string name = "Sphere", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, int segments = 24, int rings = 16)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Radius of the sphere, in world units. Must be positive. Defaults to |
| int | segments | Number of longitudinal (vertical) edge loops around the equator. Higher values increase smoothness. Defaults to |
| int | rings | Number of latitudinal (horizontal) rings from pole to pole, not counting the poles themselves. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaSphereShape | The ScyllaSphereShape component on the newly spawned UnityEngine.GameObject. |
CreateSpiralStairs(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, int, float, float, float, bool, StairsColoringMode)
Spawns a ScyllaSpiralStairsShape - a helical staircase of wedge-shaped
treads that wind continuously around a central column aligned to the Y axis. The
staircase is centered vertically on the origin. Use stepsPer360
to control the tightness of the helix, and counterClockwise to
reverse the winding direction.
Declaration
public static ScyllaSpiralStairsShape CreateSpiralStairs(Transform parent = null, string name = "SpiralStairs", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float innerRadius = 0.3, int stepCount = 12, float stepHeight = 0.22, float stepWidth = 1, float stepsPer360 = 12, bool counterClockwise = false, StairsColoringMode coloringMode = StairsColoringMode.TreadsAndStructure)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | innerRadius | Radius of the central column bore; treads start at this radius. In world units. Defaults to |
| int | stepCount | Total number of steps. Must be at least |
| float | stepHeight | Vertical rise between consecutive treads, in world units. Defaults to |
| float | stepWidth | Radial depth of each tread from the inner bore to the outer edge, in world units. Defaults to |
| float | stepsPer360 | Number of steps required to complete one full 360-degree revolution. Controls the tightness of the helix. Defaults to |
| bool | counterClockwise | When |
| StairsColoringMode | coloringMode | Per-region coloring scheme for the treads and structural elements. Defaults to TreadsAndStructure. |
Returns
| Type | Description |
|---|---|
| ScyllaSpiralStairsShape | The ScyllaSpiralStairsShape component on the newly spawned UnityEngine.GameObject. |
CreateTorus(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, int, int)
Spawns a ScyllaTorusShape - a donut swept around the Y axis.
majorRadius sets the distance from the Y axis to the center of the
tube, and minorRadius sets the tube's circular cross-section radius.
The torus lies flat in the XZ plane and is centered on the origin.
Declaration
public static ScyllaTorusShape CreateTorus(Transform parent = null, string name = "Torus", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float majorRadius = 1, float minorRadius = 0.3, int ringSegments = 32, int tubeSegments = 16)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | majorRadius | Distance from the Y axis to the center of the tube, in world units. Must be greater than |
| float | minorRadius | Radius of the tube's circular cross-section, in world units. Must be positive and less than |
| int | ringSegments | Number of segments around the major (sweeping) ring. Higher values increase smoothness of the donut silhouette. Defaults to |
| int | tubeSegments | Number of segments around each tube cross-section. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaTorusShape | The ScyllaTorusShape component on the newly spawned UnityEngine.GameObject. |
CreateTriangularPrism(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float)
Spawns a ScyllaTriangularPrismShape - a prism with an equilateral triangle cross-section extruded along the Y axis, with flat triangular caps at both ends. The shape is centered on the origin.
Declaration
public static ScyllaTriangularPrismShape CreateTriangularPrism(Transform parent = null, string name = "TriangularPrism", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float radius = 0.5, float height = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | radius | Circumscribed radius of the equilateral triangle cross-section, in world units. Must be positive. Defaults to |
| float | height | Height of the prism along the Y axis, in world units. Must be positive. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaTriangularPrismShape | The ScyllaTriangularPrismShape component on the newly spawned UnityEngine.GameObject. |
CreateWall(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, int)
Spawns a ScyllaWallShape - a thin box oriented as a wall: length along
the X axis, height along Y, thickness along Z. Optional edge beveling is controlled
by bevelRadius; when it is 0 the topology is identical to a
flat ScyllaBoxShape; otherwise the edges and corners are smoothed as in
ScyllaRoundedBoxShape, using semantically named wall axes.
Declaration
public static ScyllaWallShape CreateWall(Transform parent = null, string name = "Wall", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float length = 2, float height = 3, float thickness = 0.2, float bevelRadius = 0, int bevelSegments = 3)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | length | Extent of the wall along the X axis, in world units. Must be positive. Defaults to |
| float | height | Extent of the wall along the Y axis, in world units. Must be positive. Defaults to |
| float | thickness | Extent of the wall along the Z axis, in world units. Must be positive. Defaults to |
| float | bevelRadius | Radius of the rounded edge chamfer, in world units. Pass |
| int | bevelSegments | Number of triangular subdivisions used to approximate each beveled edge. Ignored when |
Returns
| Type | Description |
|---|---|
| ScyllaWallShape | The ScyllaWallShape component on the newly spawned UnityEngine.GameObject. |
CreateWallWithDoor(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, float)
Spawns a ScyllaWallWithDoorShape - a wall with a rectangular doorway
cutout that extends from the floor to doorHeight. The opening
reaches the bottom face so it can be walked through without a step. All cutout
dimensions are clamped to the wall extents at build time.
Declaration
public static ScyllaWallWithDoorShape CreateWallWithDoor(Transform parent = null, string name = "WallWithDoor", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float wallLength = 4, float wallHeight = 3, float wallThickness = 0.2, float doorWidth = 1, float doorHeight = 2, float doorOffsetX = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | wallLength | Total length of the wall along the X axis, in world units. Must be positive. Defaults to |
| float | wallHeight | Total height of the wall along the Y axis, in world units. Must be positive. Defaults to |
| float | wallThickness | Thickness of the wall along the Z axis, in world units. Must be positive. Defaults to |
| float | doorWidth | Width of the doorway opening along the X axis, in world units. Clamped so at least a thin column remains on each side. Defaults to |
| float | doorHeight | Height of the doorway opening from the floor, in world units. Clamped to less than |
| float | doorOffsetX | Horizontal offset of the door centerline from the wall center, in world units. Clamped so the door fits within the wall. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaWallWithDoorShape | The ScyllaWallWithDoorShape component on the newly spawned UnityEngine.GameObject. |
CreateWallWithWindow(Transform, string, Vector3?, Quaternion?, Vector3?, Color?, Material, ColliderMode, float, float, float, float, float, float, float)
Spawns a ScyllaWallWithWindowShape - a wall with a rectangular window
cutout fully bounded on all four sides (does not reach the floor or ceiling). A sill
below the opening and a lintel above it are guaranteed to be at least
MIN_FRAME_THICKNESS tall by build-time clamping.
Declaration
public static ScyllaWallWithWindowShape CreateWallWithWindow(Transform parent = null, string name = "WallWithWindow", Vector3? position = null, Quaternion? rotation = null, Vector3? scale = null, Color? tint = null, Material material = null, ColliderMode colliderMode = ColliderMode.None, float wallLength = 4, float wallHeight = 3, float wallThickness = 0.2, float windowWidth = 1.2, float windowHeight = 1, float windowSillHeight = 1, float windowOffsetX = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Transform | parent | Optional parent transform. Pass |
| string | name | Name of the spawned UnityEngine.GameObject. Defaults to |
| Vector3? | position | World-space position. Defaults to UnityEngine.Vector3.zero when |
| Quaternion? | rotation | World-space rotation. Defaults to UnityEngine.Quaternion.identity when |
| Vector3? | scale | Local scale applied to the transform. Defaults to UnityEngine.Vector3.one when |
| Color? | tint | Optional per-renderer tint written via UnityEngine.MaterialPropertyBlock. Pass |
| Material | material | Optional custom material. Overrides the cached default when supplied. |
| ColliderMode | colliderMode | Collider variant to attach after the mesh is built. Defaults to None. |
| float | wallLength | Total length of the wall along the X axis, in world units. Defaults to |
| float | wallHeight | Total height of the wall along the Y axis, in world units. Defaults to |
| float | wallThickness | Thickness of the wall along the Z axis, in world units. Defaults to |
| float | windowWidth | Width of the window opening, in world units. Clamped so side columns remain. Defaults to |
| float | windowHeight | Height of the window opening, in world units. Clamped so both a sill and a lintel remain at minimum thickness. Defaults to |
| float | windowSillHeight | Height of the bottom of the window opening above the floor, in world units. Sets the sill height. Clamped so the sill and lintel each meet the minimum frame thickness. Defaults to |
| float | windowOffsetX | Horizontal offset of the window centerline from the wall center, in world units. Clamped so the window fits within the wall. Defaults to |
Returns
| Type | Description |
|---|---|
| ScyllaWallWithWindowShape | The ScyllaWallWithWindowShape component on the newly spawned UnityEngine.GameObject. |