I love the smell of UnrealEd crashing in the morning. – tarquin

# Legacy:Object (UT3)/Structs

These structs are declared in the Object class. Apart from the structs described here, there are also a number of "mirror" structs that reflect native data structures, but do not expose any relevant features to UnrealScript.

Some of these structs are declared *immutable*, but this has no effect in UnrealScript.

## Contents

## Box[edit]

A bounding box defined by lower back left and upper front right edges.

- vector Min
- vector Max
- byte IsValid

## BoxSphereBounds[edit]

A bounding box and bounding sphere with the same origin.

- vector Origin
- Origin of the bounding box and sphere.
- vector BoxExtent
- Extend of the bounding box.
- float SphereRadius
- Radius of the bounding sphere.

## Color[edit]

An RGBA color with 8 bit unsigned integer components.

See Legacy:Object (UT3)/Operators and Legacy:Object (UT3)/Functions for a list of color operations.

- byte R
- Red value.
- byte G
- Green value.
- byte B
- Blue value.
- byte A
- Alpha value.

## Cylinder[edit]

A cylinder defined by its radius and height.

- float Radius
- Cylinder radius.
- float Height
- Cylinder height.

**Note:** Traditionally the height value of an actor's collision cylinder is the distance of the bottom and top plane from the actor's center location, i.e. half the actual cylinder's height. This struct is likely used in the same fashion.

## Guid[edit]

A globally unique identifier with a length of 128 bits.

- int A
- int B
- int C
- int D

## InterpCurve*Type*[edit]

Five types of interpolation curves, where *Type* is replaced by **Float**, **Vector**, **Vector2D**, **TwoVectors** and **Quat** respectively.

- array<InterpCurvePoint
*Type*> Points - EInterpMethodType InterpMethod

## InterpCurvePoint*Type*[edit]

Five types of interpolation curve points, where *Type* is replaced by **Float**, **Vector**, **Vector2D**, **TwoVectors** and **Quat** respectively.

- float InVal
*Type*OutVal*Type*ArriveTangent*Type*LeaveTangent- EInterpCurveMode InterpMode

## IntPoint[edit]

Screen coordinates.

- int X
- X coordinate.
- int Y
- Y coordinate.

## LinearColor[edit]

An RGBA color with 32 bit floating point components.

See Legacy:Object (UT3)/Operators and Legacy:Object (UT3)/Functions for a list of color operations.

- float R
- Red value.
- float G
- Green value.
- float B
- Blue value.
- float A
- Alpha value.

## Matrix[edit]

A 4x4 matrix.

- Plane WPlane
- Plane XPlane
- Plane YPlane
- Plane ZPlane

## Plane extends Vector[edit]

A plane definition in 3D space. Since it extends **Vector**, it inherits the three vector components **X**, **Y** and **Z**.

- float W

A plane can be described in its normal form by defining its normal vector consisting of the **X**, **Y** and **Z** components and its distance from the origin in the **W** component.

Alternatively the **Plane** struct can also describe a sphere, which is done by defining the sphere's center with the **X**, **Y** and **Z** components and its radius with the **W** component.

## Quat[edit]

A quaternion. Quaternions are used for describing rotations without Wikipedia:gimbal lock. (also see Wikipedia:Quaternion)

See Legacy:Object (UT3)/Operators and Legacy:Object (UT3)/Numeric Functions for a list of quaternion operations.

- float W
- The real component. In quaternion rotations, this corresponds to the rotation angle.
- float X
- float Y
- float Z
- The complex components. In quaternion rotations, these correspond to the normal vector describing the rotation axis.

## Rotator[edit]

An orthogonal rotation in 3D space. See Rotator.

See Legacy:Object (UT3)/Operators and Legacy:Object (UT3)/Numeric Functions for a list of rotator operations.

- int Pitch
- Pitch component.
- int Yaw
- Yaw component.
- int Roll
- Roll component.

## TPOV[edit]

Point Of View type.

- vector Location
- View location.
- rotator Rotation
- View rotation.
- float FOV
- FOV angle.

## TwoVectors[edit]

Two vectors.

- vector v1
- First vector.
- vector v2
- Second vector.

## Vector[edit]

A point or direction vector in 3D space. See Vector.

See Legacy:Object (UT3)/Operators and Legacy:Object (UT3)/Numeric Functions for a list of vector operations.

- float X
- X component.
- float Y
- Y component.
- float Z
- Z component.

## Vector2D[edit]

A point or direction in 2D space.

- float X
- X component.
- float Y
- Y component.

## Vector4[edit]

A point or direction in 4D space.

- float W
- W component.
- float X
- X component.
- float Y
- Y component.
- float Z
- Z component.