# NIF File Format Documentation

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

Hierarchy | List

## NIF Object Hierarchy

- NiObject | Abstract object type.

- ATextureRenderData |

- NiPersistentSrcTextureRendererData |
- NiPixelData | A texture.

- AbstractAdditionalGeometryData |

- BSPackedAdditionalGeometryData |
- NiAdditionalGeometryData |

- BSAnimNotes | Bethesda-specific node.
- BSMultiBound | Bethesda-specific node.
- BSMultiBoundData | Abstract base type for bounding data.

- BSMultiBoundAABB | Bethesda-specific node.
- BSMultiBoundOBB | Oriented bounding box.
- BSMultiBoundSphere | Bethesda-specific node.

- BSShaderTextureSet | Bethesda-specific Texture Set.
- CStreamableAssetData |
- Ni3dsAlphaAnimator | Unknown.
- Ni3dsAnimationNode | Unknown. Only found in 2.3 nifs.
- Ni3dsColorAnimator | Unknown!
- Ni3dsMorphShape | Unknown!
- Ni3dsParticleSystem | Unknown!
- Ni3dsPathController | Unknown!
- NiAVObjectPalette | Unknown.

- NiDefaultAVObjectPalette | Unknown. Refers to a list of objects. Used by NiControllerManager.

- NiBSplineBasisData | Stores the number of control points of a B-spline.
- NiBSplineCompTransformEvaluator |
- NiBSplineData | B-spline data points as floats, or as shorts for compressed B-splines.
- NiBezierTriangle4 | Sub data of NiBezierMesh
- NiBinaryVoxelData | Voxel data object.
- NiBoolData | Timed boolean data.
- NiCollisionObject | This is the most common collision object found in NIF files. It acts as a real object that

- NiCollisionData | Collision box.
- bhkNiCollisionObject | Havok related collision object?

- bhkCollisionObject | Havok related collision object?

- bhkBlendCollisionObject | Unknown.

- bhkPCollisionObject | Unknown.

- bhkSPCollisionObject | Unknown.

- NiColorData | Color data for material color controller.
- NiDataStream |
- NiExtraData | A generic extra data object.

- BSBehaviorGraphExtraData | Links a nif with a Havok Behavior .hkx animation file
- BSBoneLODExtraData | Unknown
- BSBound | Bethesda-specific collision bounding box for skeletons.
- BSDecalPlacementVectorExtraData | Bethesda-specific node. (for dynamic decal projection?)
- BSFurnitureMarker | Unknown. Marks furniture sitting positions?

- BSFurnitureMarkerNode | Furniture Marker for actors

- BSInvMarker | Orientation marker for Skyrim's inventory view.
- BSWArray | Bethesda-specific node.
- NiArkAnimationExtraData | Unknown node.
- NiArkImporterExtraData | Unknown node.
- NiArkShaderExtraData | Unknown node.
- NiArkTextureExtraData | Unknown node.
- NiArkViewportInfoExtraData | Unknown node.
- NiBinaryExtraData | Binary extra data object. Used to store tangents and bitangents in Oblivion.
- NiBinaryVoxelExtraData | Voxel extra data object.
- NiBooleanExtraData | Boolean extra data.
- NiColorExtraData | Unknown.
- NiFloatExtraData | Float extra data.
- NiFloatsExtraData | Unknown.
- NiIntegerExtraData | Extra integer data.

- BSXFlags | Controls animation and collision. Integer holds flags:

- NiIntegersExtraData | Integers data.
- NiStringExtraData | Apparently commands for an optimizer instructing it to keep things it would normally discard.
- NiStringsExtraData | List of strings; for example, a list of all bone names.
- NiTextKeyExtraData | Extra data, used to name different animation sequences.
- NiVectorExtraData | Extra vector data.
- NiVertWeightsExtraData | Not used in skinning.

- NiFloatData | Possibly the 1D position along a 3D path.
- NiGeometryData | Mesh data: vertices, vertex normals, etc.

- NiLinesData | Wireframe geometry data.
- NiParticlesData | Generic rotating particles data object.

- NiAutoNormalParticlesData | Particle system data object (with automatic normals?).
- NiRotatingParticlesData | Rotating particles data object.

- NiPSysData | Particle system data.

- BSStripPSysData | Bethesda-Specific (mesh?) Particle System Data.
- NiMeshPSysData | Particle meshes data.

- NiParticleMeshesData | Particle meshes data.

- NiTriBasedGeomData | Describes a mesh, built from triangles.

- NiClodData | Holds mesh data for continuous level of detail shapes.
- NiTriShapeData | Holds mesh data using a list of singular triangles.

- NiEnvMappedTriShapeData | Holds mesh data using a list of singular triangles.
- NiScreenElementsData | Two dimensional screen elements.

- NiTriStripsData | Holds mesh data using strips of triangles.

- NiImage |
- NiInterpolator | Interpolator objects - function unknown.

- BSTreadTransfInterpolator | Bethesda-specific node.
- NiBSplineInterpolator | For interpolators storing data via a B-spline.

- NiBSplineFloatInterpolator | Unknown.

- NiBSplineCompFloatInterpolator | Unknown.

- NiBSplinePoint3Interpolator | Unknown.

- NiBSplineCompPoint3Interpolator | Unknown.

- NiBSplineTransformInterpolator | An interpolator for storing transform keyframes via a B-spline.

- NiBSplineCompTransformInterpolator | An interpolator for storing transform keyframes via a compressed

- NiBlendInterpolator | An extended type of interpolater.

- NiBlendBoolInterpolator | An interpolator for a bool.
- NiBlendFloatInterpolator | An interpolator for a float.
- NiBlendPoint3Interpolator | Interpolates a point?
- NiBlendTransformInterpolator | Unknown.

- NiKeyBasedInterpolator | Interpolator objects that use keys?

- NiBoolInterpolator | Unknown.

- NiBoolTimelineInterpolator | Unknown.

- NiFloatInterpolator | Unknown.
- NiPathInterpolator | Unknown interpolator.
- NiPoint3Interpolator | Unknown.
- NiTransformInterpolator | An interpolator for transform keyframes.

- BSRotAccumTransfInterpolator |

- NiLookAtInterpolator | Unknown.

- NiKeyframeData | Keyframes for mesh animation.

- NiTransformData | Mesh animation keyframe data.

- NiLODData | Abstract class used for different types of LOD selections.

- NiRangeLODData | Describes levels of detail based on distance of object from camera.
- NiScreenLODData | Describes levels of detail based on size of object on screen?

- NiMeshHWInstance |
- NiMeshModifier | Base class for mesh modifiers.

- NiInstancingMeshModifier |
- NiMorphMeshModifier | Performs linear-weighted blending between a set of target data streams.
- NiPSSimulator | The mesh modifier that performs all particle system simulation.
- NiSkinningMeshModifier |

- NiMorphData | Geometry morphing data.
- NiObjectNET | An object that can be controlled by a controller.

- NiAVObject | Generic node object.

- NiBezierMesh | Unknown
- NiCamera | Camera object.
- NiDynamicEffect | A dynamic effect such as a light or environment map.

- NiLight | Light source.

- NiAmbientLight | Ambient light source.
- NiDirectionalLight | Directional light source.
- NiPointLight | A point light.

- NiSpotLight | A spot.

- NiTextureEffect | Enables environment mapping. Should be in both the children list and effects list of the NiTriShape object. For Morrowind: the bump map can be used to bump the environment map (note that the bump map is ignored if no NiTextureEffect object is present).

- NiGeometry | Describes a visible scene element with vertices like a mesh, a particle system, lines, etc.

- NiParticles | Generic particle system node.

- NiAutoNormalParticles | Unknown.
- NiParticleMeshes | Mesh particle node?
- NiParticleSystem | A particle system.

- BSStripParticleSystem | Bethesda-Specific (mesh?) Particle System.
- NiMeshParticleSystem | Particle system.

- NiRotatingParticles | Unknown.

- NiTriBasedGeom | Describes a mesh, built from triangles.

- BSLODTriShape | A variation on NiTriShape, for visibility control over vertex groups.
- NiClod | A shape node that holds continuous level of detail information.
- NiLines | Wireframe geometry.
- NiTriShape | A shape node that refers to singular triangle data.

- BSSegmentedTriShape | Bethesda-specific node.
- NiScreenElements | Two dimensional screen elements.

- NiTriStrips | A shape node that refers to data organized into strips of triangles

- NiNode | Generic node object for grouping.

- AvoidNode | Morrowind specific?
- BSBlastNode | Bethesda-Specific node.
- BSDamageStage | Bethesda-Specific node.
- BSDebrisNode | Bethesda-Specific node.
- BSFadeNode | Bethesda-specific fade node.
- BSLeafAnimNode | Unknown, related to trees.
- BSMasterParticleSystem | Bethesda-Specific node.
- BSMultiBoundNode | Bethesda-specific node.
- BSOrderedNode | Bethesda-Specific node.
- BSTreeNode | Node for handling Trees, Switches branch configurations for variation?
- BSValueNode | Bethesda-Specific node. Found on fxFire effects
- FxWidget | Firaxis-specific UI widgets?

- FxButton | Unknown.
- FxRadioButton | Unknown.

- NiBSAnimationNode | Bethesda-specific extension of Node with animation properties stored in the flags, often 42?
- NiBSParticleNode | Unknown.
- NiBillboardNode | These nodes will always be rotated to face the camera creating a billboard effect for any attached objects.
- NiBone | A NiNode used as a skeleton bone?
- NiRoom | Grouping node for nodes in a Portal
- NiRoomGroup | Grouping node for nodes in a Portal
- NiSortAdjustNode | Unknown node. Found in Loki.
- NiSwitchNode | A node used to switch between branches, such as for LOD levels?

- NiLODNode | Level of detail selector. Links to different levels of detail of the same model, used to switch a geometry at a specified distance.

- RootCollisionNode | Morrowind-specific node for collision mesh.

- NiPSParticleSystem |

- NiPSMeshParticleSystem |

- NiPortal | A Portal
- NiRenderObject | An object that can be rendered.

- NiMesh |

- NiEnvMappedTriShape | Unknown
- NiPhysXProp | Unknown PhysX node.
- NiProperty | A generic property object.

- BSEffectShaderProperty | Skyrim non-PP shader model, used primarily for transparency effects, often as decal.
- BSLightingShaderProperty | Skyrim PP shader for assigning material/shader/texture.
- BSShaderProperty | Bethesda-specific Property node

- BSDistantTreeShaderProperty | Bethesda-specific node.
- BSShaderLightingProperty | Bethesda-specific property.

- BSShaderNoLightingProperty | Bethesda-specific property.
- BSShaderPPLightingProperty | Bethesda-specific Shade node.

- Lighting30ShaderProperty | Bethesda-specific node.

- TileShaderProperty | Bethesda-specific node.

- DistantLODShaderProperty | Bethesda-specific node.
- HairShaderProperty | Bethesda-specific node.
- SkyShaderProperty | Bethesda-specific node? Found in Fallout3
- TallGrassShaderProperty | Bethesda-specific node.
- VolumetricFogShaderProperty | Bethesda-specific node.
- WaterShaderProperty | Bethesda-specific node? Found in Fallout3

- BSSkyShaderProperty | Skyrim Sky shader block.
- BSWaterShaderProperty | Skyrim water shader property, different from "WaterShaderProperty" seen in Fallout.
- NiAlphaProperty | Transparency. Flags 0x00ED.
- NiDitherProperty | Unknown.
- NiFogProperty | Describes... fog?
- NiMaterialProperty | Describes the material shading properties.
- NiMultiTextureProperty | (note: not quite complete yet... but already reads most of the DAoC ones)
- NiShadeProperty | Determines whether flat shading or smooth shading is used on a shape.
- NiSpecularProperty | Gives specularity to a shape. Flags 0x0001.
- NiStencilProperty | Allows control of stencil testing.
- NiTextureModeProperty | Unknown
- NiTextureProperty |
- NiTexturingProperty | Describes an object's textures.
- NiTransparentProperty | Unknown
- NiVertexColorProperty | Property of vertex colors. This object is referred to by the root object of the NIF file whenever some NiTriShapeData object has vertex colors with non-default settings; if not present, vertex colors have vertex_mode=2 and lighting_mode=1.
- NiWireframeProperty | Unknown.
- NiZBufferProperty | This Property controls the Z buffer (OpenGL: depth buffer).

- NiSequenceStreamHelper | Keyframe animation root node, in .kf files.
- NiTexture | A texture.

- NiSourceTexture | Describes texture source and properties.

- NiSourceCubeMap | Unknown node. Found in Emerge Demo.

- NiPSBombForce |
- NiPSBoundUpdater |
- NiPSBoxEmitter |
- NiPSDragForce |
- NiPSFacingQuadGenerator |
- NiPSGravityForce |
- NiPSMeshEmitter |
- NiPSPlanarCollider |
- NiPSSimulatorStep | Abstract base class for a single step in the particle system simulation process. It has no seralized data.

- NiPSSimulatorCollidersStep | Encapsulates a floodgate kernel that simulates particle colliders.
- NiPSSimulatorFinalStep | Encapsulates a floodgate kernel that updates particle positions and ages. As indicated by its name, this step should be attached last in the NiPSSimulator mesh modifier.
- NiPSSimulatorForcesStep | Encapsulates a floodgate kernel that simulates particle forces.
- NiPSSimulatorGeneralStep | Encapsulates a floodgate kernel that updates particle size, colors, and rotations.
- NiPSSimulatorMeshAlignStep | Encapsulates a floodgate kernel that updates mesh particle alignment and transforms.

- NiPSSpawner |
- NiPSSphereEmitter |

- NiPSCylinderEmitter |

- NiPSSphericalCollider | Unknown.
- NiPSysCollider | Particle system collider.

- NiPSysPlanarCollider | Particle Collider object which particles will interact with.
- NiPSysSphericalCollider | Particle Collider object which particles will interact with.

- NiPSysEmitterCtlrData | Particle system emitter controller data.
- NiPSysModifier | Generic particle system modifier object.

- BSPSysHavokUpdateModifier |
- BSPSysInheritVelocityModifier |
- BSPSysLODModifier |
- BSPSysRecycleBoundModifier |
- BSPSysScaleModifier |
- BSPSysSimpleColorModifier | Bethesda-Specific Particle node.
- BSPSysStripUpdateModifier | Bethesda-Specific (mesh?) Particle System Modifier.
- BSPSysSubTexModifier | Similar to a Flip Controller, this handles particle texture animation on a single texture atlas
- BSParentVelocityModifier | Particle modifier that adds a blend of object space translation and rotation to particles born in world space.
- BSWindModifier | Particle Modifier that uses the wind value from the gamedata to alter the path of particles.
- NiPSysAgeDeathModifier | Unknown particle modifier.
- NiPSysBombModifier | Particle modifier that uses a NiNode to use as a "Bomb Object" to alter the path of particles.
- NiPSysBoundUpdateModifier | Unknown particle system modifier.
- NiPSysColliderManager | Particle modifier that adds a defined shape to act as a collision object for particles to interact with.
- NiPSysColorModifier | Particle modifier that adds keyframe data to modify color/alpha values of particles over time.
- NiPSysDragModifier | Unknown.
- NiPSysEmitter | A particle emitter?

- NiPSysMeshEmitter | Particle emitter that uses points on a specified mesh to emit from.
- NiPSysTrailEmitter | Guild 2-Specific node
- NiPSysVolumeEmitter | An emitter that emits meshes?

- BSPSysArrayEmitter | Particle emitter that uses a node, its children and subchildren to emit from. Emission will be evenly spread along points from nodes leading to their direct parents/children only.
- NiPSysBoxEmitter | Particle emitter that uses points within a defined Box shape to emit from..
- NiPSysCylinderEmitter | Particle emitter that uses points within a defined Cylinder shape to emit from.
- NiPSysSphereEmitter | Particle emitter that uses points within a sphere shape to emit from.

- NiPSysFieldModifier | Base for all force field particle modifiers.

- NiPSysAirFieldModifier | Particle system modifier, used for controlling the particle velocity in a field like wind.
- NiPSysDragFieldModifier | Particle system modifier, used for controlling the particle velocity in drag space warp.
- NiPSysGravityFieldModifier | Particle system modifier, used for controlling the particle velocity in gravity field.
- NiPSysRadialFieldModifier | Particle system modifier, used for controlling the particle
- NiPSysTurbulenceFieldModifier | Particle system modifier, used for controlling the particle velocity in drag space warp.
- NiPSysVortexFieldModifier | Particle system modifier, used for controlling the particle velocity in force field.

- NiPSysGravityModifier | Adds gravity to a particle system, when linked to a NiNode to use as a Gravity Object.
- NiPSysGrowFadeModifier | Particle modifier that controls the time it takes to grow a particle from Size=0 to the specified Size in the emitter, and then back to 0. This modifer has no control over alpha settings.
- NiPSysMeshUpdateModifier | Unknown.
- NiPSysPositionModifier | Unknown particle system modifier.
- NiPSysRotationModifier | Particle modifier that adds rotations to particles.
- NiPSysSpawnModifier | Unknown particle modifier.

- NiPalette | A color palette.
- NiParticleModifier | A particle system modifier.

- NiGravity | A particle modifier; applies a gravitational field on the particles.
- NiParticleBomb | A particle modifier.
- NiParticleColorModifier | Unknown.
- NiParticleGrowFade | This particle system modifier controls the particle size. If it is present the particles start with size 0.0 . Then they grow to their original size and stay there until they fade to zero size again at the end of their lifetime cycle.
- NiParticleMeshModifier | Unknown.
- NiParticleRotation | Unknown.
- NiPlanarCollider | Unknown.
- NiSphericalCollider | Unknown.

- NiPhysXActorDesc | Unknown PhysX node.
- NiPhysXBodyDesc | Unknown PhysX node.
- NiPhysXD6JointDesc | Unknown PhysX node.
- NiPhysXKinematicSrc | Unknown PhysX node.
- NiPhysXMaterialDesc | Unknown node.
- NiPhysXMeshDesc | Unknown PhysX node.
- NiPhysXPropDesc | Unknown PhysX node.
- NiPhysXShapeDesc | Unknown PhysX node.
- NiPhysXTransformDest | Unknown PhysX node.
- NiPosData | Position data.
- NiRawImageData | Raw image data.
- NiSequence | Root node used in some Empire Earth II .kf files (version 4.2.2.0).

- NiControllerSequence | Root node in .kf files (version 10.0.1.0 and up).

- NiSequenceData |
- NiShadowGenerator |
- NiSkinData | Skinning data.
- NiSkinInstance | Skinning instance.

- BSDismemberSkinInstance | Bethesda-specific node.
- NiClodSkinInstance | A copy of NISkinInstance for use with NiClod meshes.

- NiSkinPartition | Skinning data, optimized for hardware skinning. The mesh is partitioned in submeshes such that each vertex of a submesh is influenced only by a limited and fixed number of bones.
- NiStringPalette | List of 0x00-seperated strings, which are names of controlled objects and controller types. Used in .kf files in conjunction with NiControllerSequence.
- NiTimeController | A generic time controller object.

- BSFrustumFOVController | Bethesda-specific node.
- BSLagBoneController | A controller that trails a bone behind an actor.
- BSRefractionFirePeriodController | Bethesda-specific node.
- NiBoneLODController | Level of detail controller for bones. Priority is arranged from low to high.

- NiBSBoneLODController | A simple LOD controller for bones.

- NiControllerManager | Unknown. Root of all controllers?
- NiFurSpringController | Unknown.
- NiInterpController | A controller capable of interpolation?

- NiGeomMorpherController | Time controller for geometry morphing.
- NiMorphController | Unknown! Used by Daoc->'healing.nif'.
- NiMorphWeightsController |
- NiMorpherController | Unknown! Used by Daoc.
- NiMultiTargetTransformController | Unknown.
- NiSingleInterpController | A controller referring to a single interpolator.

- NiBoolInterpController | A controller that interpolates floating point numbers?

- NiVisController | Time controller for visibility.

- NiExtraDataController | An controller for extra data.

- NiFloatExtraDataController | Unknown.

- NiFloatInterpController | A controller that interpolates floating point numbers?

- BSEffectShaderPropertyColorController | This controller is used to animate colors in BSEffectShaderProperty.
- BSEffectShaderPropertyFloatController | This controller is used to animate float variables in BSEffectShaderProperty.
- BSLightingShaderPropertyColorController | This controller is used to animate colors in BSLightingShaderProperty.
- BSLightingShaderPropertyFloatController | This controller is used to animate float variables in BSLightingShaderProperty.
- BSMaterialEmittanceMultController | Bethesda-Specific node.
- BSProceduralLightningController | Skyrim, Paired with dummy TriShapes, this controller generates lightning shapes for special effects.
- BSRefractionStrengthController | Bethesda-Specific node.
- NiAlphaController | Time controller for transparency.

- BSNiAlphaPropertyTestRefController | Unkown

- NiFlipController | Texture flipping controller.
- NiLightDimmerController | Unknown controller.
- NiLightIntensityController | Unknown controller
- NiTextureTransformController | Texture transformation controller. The target texture slot should have "Has Texture Transform" enabled.

- NiKeyframeController | A time controller object for animation key frames.

- BSKeyframeController | An extended keyframe controller.
- NiTransformController | NiTransformController replaces the NiKeyframeController.

- NiPSysModifierCtlr | A particle system modifier controller.

- BSPSysMultiTargetEmitterCtlr | Particle system (multi?) emitter controller.
- NiPSEmitterDeclinationCtlr |

- NiPSEmitterDeclinationVarCtlr |

- NiPSEmitterLifeSpanCtlr |
- NiPSEmitterPlanarAngleCtlr |

- NiPSEmitterPlanarAngleVarCtlr |

- NiPSEmitterRotAngleCtlr |

- NiPSEmitterRotAngleVarCtlr |

- NiPSEmitterRotSpeedCtlr |

- NiPSEmitterRotSpeedVarCtlr |

- NiPSysEmitterCtlr | Particle system emitter controller.

- NiPSEmitParticlesCtlr |

- NiPSysModifierBoolCtlr | A particle system modifier controller that deals with boolean data?

- NiPSysModifierActiveCtlr | Unknown.

- NiPSysModifierFloatCtlr | A particle system modifier controller that deals with floating point data?

- NiPSysAirFieldAirFrictionCtlr | Particle system controller for air field air friction.
- NiPSysAirFieldInheritVelocityCtlr | Particle system controller for air field inherit velocity.
- NiPSysAirFieldSpreadCtlr | Particle system controller for air field spread.
- NiPSysEmitterDeclinationCtlr | Unknown.
- NiPSysEmitterDeclinationVarCtlr | Unknown.
- NiPSysEmitterInitialRadiusCtlr | Unknown.
- NiPSysEmitterLifeSpanCtlr | Unknown.
- NiPSysEmitterPlanarAngleCtlr | Particle system controller for emitter planar angle.
- NiPSysEmitterPlanarAngleVarCtlr | Particle system controller for emitter planar angle variation.
- NiPSysEmitterSpeedCtlr | Unknown.
- NiPSysFieldAttenuationCtlr | Particle system controller for force field attenuation.
- NiPSysFieldMagnitudeCtlr | Particle system controller for force field magnitude.
- NiPSysFieldMaxDistanceCtlr | Particle system controller for force field maximum distance.
- NiPSysGravityStrengthCtlr | Unknown.
- NiPSysInitialRotAngleCtlr | Particle system controller for emitter initial rotation angle.
- NiPSysInitialRotAngleVarCtlr | Particle system controller for emitter initial rotation angle variation.
- NiPSysInitialRotSpeedCtlr | Particle system controller for emitter initial rotation speed.
- NiPSysInitialRotSpeedVarCtlr | Particle system controller for emitter initial rotation speed variation.

- NiPoint3InterpController | A controller that interpolates point 3 data?

- NiLightColorController | Light color animation controller.
- NiMaterialColorController | Time controller for material color. Flags are used for color selection in versions below 10.1.0.0.

- NiRollController | Unknown.

- NiLookAtController | Unknown. Start time is 3.4e+38 and stop time is -3.4e+38.
- NiPSEmitterRadiusCtlr |
- NiPSEmitterSpeedCtlr |
- NiPSForceActiveCtlr |
- NiPSGravityStrengthCtlr |
- NiPSResetOnLoopCtlr |
- NiPSysResetOnLoopCtlr | Unknown.
- NiPSysUpdateCtlr | Particle system controller, used for ???.
- NiParticleSystemController | A generic particle system time controller object.

- NiBSPArrayController | A particle system controller, used by BS in conjunction with NiBSParticleNode.

- NiPathController | Time controller for a path.
- NiSkinningLODController |
- NiTriShapeSkinController | Old version of skinning instance.
- NiUVController | Time controller for texture coordinates.
- bhkBlendController | Unknown. Is apparently only used in skeleton.nif files.

- NiTransformEvaluator |
- NiUVData | Texture coordinate data.
- NiVisData | Visibility data for a controller.
- bhkRefObject | The base type of most Bethesda-specific Havok-related NIF objects.

- bhkCompressedMeshShapeData | A compressed mesh shape for collision in Skyrim.
- bhkSerializable | Havok objects that can be saved and loaded from disk?

- bhkBallSocketConstraintChain | A Ball and Socket Constraint chain.
- bhkConstraint | Describes a physical constraint.

- bhkBallAndSocketConstraint | A Ball and Socket Constraint.
- bhkBreakableConstraint | Bethesda-Specific node.
- bhkHingeConstraint | A hinge constraint.
- bhkLimitedHingeConstraint | Hinge constraint.
- bhkMalleableConstraint | A malleable constraint.
- bhkPrismaticConstraint | A prismatic constraint.
- bhkRagdollConstraint | Ragdoll constraint.
- bhkStiffSpringConstraint | A spring constraint.

- bhkLiquidAction | Bethesda-specific node.
- bhkOrientHingedBodyAction | Bethesda-Specific node.
- bhkShape | A Havok Shape?

- bhkBvTreeShape | A tree-like Havok data structure stored in an assembly-like binary code?

- bhkMoppBvTreeShape | Memory optimized partial polytope bounding volume tree shape (not an entity).

- bhkCompressedMeshShape | Compressed collision mesh.
- bhkConvexListShape | A havok shape.
- bhkMeshShape |
- bhkShapeCollection | Havok collision object that uses multiple shapes?

- bhkListShape | A list of shapes.
- bhkNiTriStripsShape | A shape constructed from a bunch of strips.
- bhkPackedNiTriStripsShape | A shape constructed from strips data.
- hkPackedNiTriStripsData | NiTriStripsData for havok data?

- bhkSphereRepShape | A havok shape, perhaps with a bounding sphere for quick rejection in addition to more detailed shape data?

- bhkConvexShape | A havok shape.

- bhkBoxShape | A box.
- bhkCapsuleShape | A capsule.
- bhkConvexVerticesShape | A convex shape built from vertices. Note that if the shape is used in
- bhkSphereShape | A sphere.

- bhkMultiSphereShape | Unknown.

- bhkTransformShape | Transforms a shape.

- bhkConvexTransformShape | A convex transformed shape?

- bhkWorldObject | Havok objects that have a position in the world?

- bhkEntity | A havok node, describes physical properties.

- bhkRigidBody | This is the default body type for all "normal" usable and static world objects. The "T" suffix

- bhkRigidBodyT | Unknown.

- bhkPhantom | Havok object that do not react with other objects when they collide (causing deflection, etc.) but still trigger collision notifications to the game. Possible uses are traps, portals, AI fields, etc.

- bhkShapePhantom | A Havok phantom that uses a Havok shape object for its collision volume instead of just a bounding box.

- bhkAabbPhantom | Bethesda-specific node.
- bhkSimpleShapePhantom | Unknown shape.