# NIF File Format Documentation

NIF Objects | Compound Types | Enum Types | Basic Types | File Versions

## NiSwitchNode

A node used to switch between branches, such as for LOD levels?

### Attributes

Name | Type | Arg | Arr1 | Arr2 | Cond | Description | From | To
--- | --- | --- | --- | --- | --- | --- | --- | ---
From NiObject
From NiObjectNET
Skyrim Shader Type | BSLightingShaderPropertyShaderType |  |  |  | IsDerivedType(BSLightingShaderProperty::TYPE) | Configures the main shader path |  |
Name | string |  |  |  |  | Name of this controllable object, used to refer to the object in .kf files. |  |
Has Old Extra Data | bool |  |  |  |  | Extra data for pre-3.0 versions. |  | 2.3
Old Extra Prop Name | string |  |  |  | hasOldExtraData | (=NiStringExtraData) |  | 2.3
Old Extra Internal Id | uint |  |  |  | hasOldExtraData | ref |  | 2.3
Old Extra String | string |  |  |  | hasOldExtraData | Extra string data. |  | 2.3
Unknown Byte | byte |  |  |  |  | Always 0. |  | 2.3
Extra Data | Ref<NiExtraData> |  |  |  |  | Extra data object index. (The first in a chain) | 3.0 | 4.2.2.0
Num Extra Data List | uint |  |  |  |  | The number of Extra Data objects referenced through the list. | 10.0.1.0 |
Extra Data List | Ref<NiExtraData> |  | Num Extra Data List |  |  | List of extra data indices. | 10.0.1.0 |
Controller | Ref<NiTimeController> |  |  |  |  | Controller object index. (The first in a chain) | 3.0 |
From NiAVObject
Flags | Flags |  |  |  |  | Some flags; commonly 0x000C or 0x000A. | 3.0 |
Unknown Short 1 | ushort |  |  |  |  | Unknown Flag | 20.2.0.7 |
Translation | Vector3 |  |  |  |  | The translation vector. |  |
Rotation | Matrix33 |  |  |  |  | The rotation part of the transformation matrix. |  |
Scale | float |  |  |  |  | Scaling part (only uniform scaling is supported). |  |
Velocity | Vector3 |  |  |  |  | Unknown function. Always seems to be (0, 0, 0) |  | 4.2.2.0
Num Properties | uint |  |  |  |  | The number of property objects referenced. |  |
Properties | Ref<NiProperty> |  | Num Properties |  |  | List of node properties. |  |
Unknown 1 | uint |  | 4 |  |  | Always 2,0,2,0. |  | 2.3
Unknown 2 | byte |  |  |  |  | 0 or 1. |  | 2.3
Has Bounding Box | bool |  |  |  |  | Do we have a bounding box? | 3.0 | 4.2.2.0
Bounding Box | BoundingBox |  |  |  | hasBoundingBox | The bounding box. | 3.0 | 4.2.2.0
Collision Object | Ref<NiCollisionObject> |  |  |  |  | Refers to NiCollisionObject, which is usually a bounding box or other simple collision shape. In Oblivion this links the Havok objects. | 10.0.1.0 |
From NiNode
Num Children | uint |  |  |  |  | The number of child objects. |  |
Children | Ref<NiAVObject> |  | Num Children |  |  | List of child node object indices. |  |
Num Effects | uint |  |  |  |  | The number of references to effect objects that follow. |  |
Effects | Ref<NiDynamicEffect> |  | Num Effects |  |  | List of node effects. ADynamicEffect? |  |
From NiSwitchNode
Unknown Flags 1 | ushort |  |  |  |  | Flags | 10.1.0.0 |
Unknown Int 1 | int |  |  |  |  | Index? |  |

### Parent Of

- NiLODNode