Complete Namespace Hierarchy
FFXIV Namespace
The primary namespace containing all FFXIV-specific game structures.FFXIV.Application
Purpose: Application-level systems and networkingFFXIV.Application.Network- Network protocol and packet handling
FFXIV.Client
Purpose: Core game client implementation The Client namespace is the largest and most frequently used, containing the main game systems:FFXIV.Client.Game
Purpose: Core gameplay logic, character data, and game state Key Classes:ActionManager- Action execution and validationInventoryManager- Inventory and item managementCharacter.Character- Player and NPC character dataObject.GameObject- Base game object structureCamera- Camera control and positioningBalloon- Speech bubble systemBGMSystem- Background music control
Character- Character-specific structuresEvent- Event and cutscene systemsFate- FATE systemHousing- Housing and furnitureInstanceContent- Dungeon/raid instancesObject- Game object base classesStatus- Status effects and buffsUI- Game-related UI data
FFXIV.Client.Graphics
Purpose: Rendering, animation, and visual effects Key Classes:Scene.Camera- Scene camera systemsScene.Object- Renderable objectsRender.Skeleton- Skeletal animationKernel.Device- Graphics device managementVfx.VfxData- Visual effect data
Animation- Animation systemsEnvironment- Weather, time of day, environmentKernel- Core graphics systemsPhysics- Client-side physicsRender- Rendering pipelineScene- Scene managementVfx- Visual effects
FFXIV.Client.Network
Purpose: Client-side network handling Key Classes: Network session management, packet handlersFFXIV.Client.Sound
Purpose: Audio playback and sound effects Key Classes: Sound management, audio routingFFXIV.Client.System
Purpose: Core client systems and infrastructure Key Classes:Framework.Framework- Main application frameworkMemory.MemoryManager- Memory allocationResource.ResourceManager- Resource loadingString.Utf8String- UTF-8 string handling
Configuration- Client configurationFile- File I/OFramework- Application frameworkInput- Input handlingMemory- Memory managementResource- Resource loadingScheduler- Task schedulingString- String utilitiesThreading- Thread managementTimer- Timing systems
FFXIV.Client.UI
Purpose: User interface windows and addons Key Classes:AddonActionBar- Action bar hotbarsAddonInventory- Inventory windowsAddonCharacter- Character sheetAddonNamePlate- Player nameplatesUIModule- Main UI system managerRaptureAtkModule- UI rendering module
Addon[WindowName] and inherit from AtkUnitBase.
Common Addons:
- Character sheets and equipment
- Inventory and item management
- Party and duty finder
- Social features (friends, FC, linkshells)
- HUD elements (hotbars, gauges, minimap)
- System menus and settings
FFXIV.Client.LayoutEngine
Purpose: UI layout and positioning Key Classes: Layout calculation and positioning systemsFFXIV.Client.SupportDesk
Purpose: GM support and reporting toolsFFXIV.Component
Purpose: Reusable component systems used throughout the clientFFXIV.Component.GUI
Purpose: UI toolkit and widget system Key Classes:AtkUnitBase- Base class for all UI windowsAtkComponentButton- Button widgetAtkComponentCheckBox- Checkbox widgetAtkComponentList- List widgetAtkTextNode- Text rendering nodeAtkImageNode- Image rendering nodeAtkResNode- Base resource node
Atk (Adobe/Scaleform toolkit)
Component Types:
- Nodes:
AtkTextNode,AtkImageNode,AtkNineGridNode - Components:
AtkComponentButton,AtkComponentList,AtkComponentIcon - Base:
AtkUnitBase,AtkEventListener,AtkComponentBase
FFXIV.Component.Excel
Purpose: Game data sheet access (Excel files) Key Classes:ExcelModule- Excel data loadingExcelSheet- Data sheet access
FFXIV.Component.Exd
Purpose: Binary Excel data handlingFFXIV.Component.Text
Purpose: Text processing and macro expansion Key Classes:TextModule- Text processing- Macro and placeholder expansion
FFXIV.Component.Completion
Purpose: Text completion and autocompleteFFXIV.Component.Log
Purpose: Chat log and message handlingFFXIV.Component.Shell
Purpose: Command shell and text commandsFFXIV.Component.SteamApi
Purpose: Steam integrationFFXIV.Common
Purpose: Shared utilities used across namespaces Key Classes:Math.*- Mathematical utilities (vectors specific to FFXIV)TimePoint- Time representationComponent.*- Shared component utilitiesConfiguration.*- Configuration structuresLua.*- Lua scripting integration
Component- Shared component patternsConfiguration- Configuration structuresLua- Lua integrationMath- Mathematical types
FFXIV.Shader
Purpose: Shader parameters and rendering data Key Classes:SceneParameter- Scene-wide shader parameters
STD Namespace
Purpose: C++ Standard Library container interop Provides managed wrappers for native C++ STL containers used throughout the game.Core Containers
StdVector<T>- Dynamic array (std::vector)StdList<T>- Doubly-linked list (std::list)StdDeque<T>- Double-ended queue (std::deque)StdMap<K, V>- Sorted map (std::map)StdSet<T>- Sorted set (std::set)StdPair<T1, T2>- Pair type (std::pair)
String Types
StdString- std::stringStdWString- std::wstringStdBasicString<T>- Base string template
Helpers
STD.Helper.*- Container operation helpersSTD.ContainerInterface.*- Container interface definitions
Havok Namespace
Purpose: Havok Physics and Animation engine structuresHavok.Animation
Purpose: Character animation and skeletal rigging Key Classes:hkaAnimation- Animation datahkaSkeleton- Skeletal structurehkaPose- Animation posehkaAnimationControl- Animation playback controlhkaAnimatedSkeleton- Animated skeleton instance
Animation- Core animation dataDeform/Skinning- Mesh skinningMapper- Skeleton mapping/retargetingMotion- Motion dataPlayback- Animation playbackRig- Rigging structures
Havok.Common.Base
Purpose: Core Havok types and mathematics Key Classes:hkVector4f- 4D vector (SIMD)hkQuaternionf- Quaternion rotationhkMatrix3f,hkMatrix4f- MatriceshkTransformf- TransformationhkQsTransformf- Quaternion-scale-translation transformhkAabb- Axis-aligned bounding box
Container- Havok containers (hkArray, etc.)Math- Math typesObject- Base object systemReflection- Type reflectionSystem/IO- I/O streamsThread- Threading primitivesTypes- Core types
Havok.Common.Serialize
Purpose: Havok data serialization Key Classes:hkLoader- Resource loadinghkRootLevelContainer- Container for loaded data
Havok.Common.SceneData
Purpose: Scene and mesh data Key Classes:hkxMesh- Mesh data
SQEX Namespace
Purpose: Square Enix proprietary engine componentsSQEX.CDev.Engine.Sd
Purpose: Sound engine (CDev = Crystal Development) Key Classes:SdMemoryAllocator- Sound memory allocationDriver.SoundController- Sound playback control
Interop Namespace
Purpose: Interoperability utilities for safe native memory access Key Classes:Pointer<T>- Type-safe pointer wrapper with bounds checkingSpanExtensions- Extension methods for memory spans
Namespace to Game System Mapping
This table maps common game features to their corresponding namespaces:| Game System | Primary Namespace | Secondary Namespaces |
|---|---|---|
| UI Windows | FFXIV.Client.UI | FFXIV.Component.GUI |
| UI Widgets/Toolkit | FFXIV.Component.GUI | - |
| Character Data | FFXIV.Client.Game.Character | FFXIV.Client.Game.Object |
| Inventory/Items | FFXIV.Client.Game | - |
| Actions/Combat | FFXIV.Client.Game | - |
| Networking | FFXIV.Application.Network | FFXIV.Client.Network |
| Graphics/Rendering | FFXIV.Client.Graphics | FFXIV.Shader |
| Animation | FFXIV.Client.Graphics.Animation | Havok.Animation |
| Excel Data | FFXIV.Component.Excel | FFXIV.Component.Exd |
| Text/Chat | FFXIV.Component.Text | FFXIV.Component.Log |
| Resources | FFXIV.Client.System.Resource | - |
| Memory | FFXIV.Client.System.Memory | Interop |
| Sound/Audio | FFXIV.Client.Sound | SQEX.CDev.Engine.Sd |
| Framework | FFXIV.Client.System.Framework | - |
| Input | FFXIV.Client.System.Input | - |
| Housing | FFXIV.Client.Game.Housing | - |
| Party/Social | FFXIV.Client.Game | FFXIV.Client.UI |
| Quests | FFXIV.Client.Game | - |
Naming Conventions
Understanding naming patterns helps locate classes quickly:UI Classes
- Addon[Name] - UI windows (e.g.,
AddonInventory,AddonActionBar) - Atk[Type] - UI toolkit components (e.g.,
AtkUnitBase,AtkTextNode) - RaptureAtk[Type] - UI rendering modules (e.g.,
RaptureAtkModule)
Manager Classes
- [System]Manager - Singleton managers (e.g.,
ActionManager,InventoryManager) - Often accessible via
Instance()static method
Data Structures
- [Type]Array - Fixed or dynamic arrays
- [Type]Container - Container structures
- [Type]Data - Data-only structures
Havok Classes
- hk[Type] - Havok types (e.g.,
hkVector4f,hkaSkeleton) - hka[Type] - Havok Animation (e.g.,
hkaAnimation) - hkx[Type] - Havok scene/export data (e.g.,
hkxMesh)
STD Classes
- Std[Type] - C++ STL containers (e.g.,
StdVector,StdMap)
Navigation Tips
- Start with the game feature - Use the mapping table above
- Check related namespaces - UI often involves both
Client.UIandComponent.GUI - Follow inheritance - Many classes inherit from common bases (e.g.,
AtkUnitBase,GameObject) - Use naming patterns - If you know the feature name, try
Addon[Name]or[Name]Manager - Search by prefix - Filter by
Addon,Atk, orManagerto narrow results
See Also
- API Reference Overview - Introduction to the API
- Memory Layout - Understanding struct layouts
- Common Patterns - Usage examples
- UI System Guide - Working with UI structures