Skip to content

Glossary

Term Meaning
AOB Array-of-bytes signature. A byte pattern used by native hook loaders or scanners to locate engine functions.
BP / Blueprint Unreal's visual scripting. Packaged as .uasset/.uexp.
CDO Class Default Object. The template UObject Unreal uses to spawn new instances of a class.
DataTable Unreal asset holding rows of a USTRUCT schema. Common for move/parameter data.
exec trampoline The execFoo_ClassName function UE4 generates for each BP-callable UFunction. Reads params off the VM stack and calls the C++ _Impl; hooks placed only on reflected dispatch do not see native callers that skip this path.
FLuxCapsule The endpoint pair used by SC6's visual weapon-trail system (Trace pipeline). 80 bytes; only the tail (+0x30 .. +0x4F) carries data — two (BoneId, LocalOffset[3]) endpoints plus a CapsuleType tag. Not the hitbox primitive — actual hit detection runs through KHitBase linked-list nodes (see Hitbox System). See Trace System for FLuxCapsule's role.
FName Unreal's interned string type, 8 bytes, used for identifiers.
Impl The C++ body of a UFunction (e.g. ALuxBattleChara::GetTracePosition_Impl). The game often calls Impls directly, bypassing the exec trampoline and any hook placed only on reflected dispatch.
MoveProvider ULuxBattleMoveProvider — legacy name for the per-chara move-data asset. Absent from the SC6 Steam shipping binary: chara+0x388 is now CharaMesh0 (a USkeletalMeshComponent*). Any native function that still encodes the old chara+0x388 → +0x30 → capsule container walk is a stale code path. The live hit volumes live in the Hitbox System (KHit linked lists at chara+0x44478/+0x44498/+0x444B8).
Pak / PAK Packaged content archive. SC6 reads game content from .pak files.
Pose / PoseSelector The uint32 argument that ALuxBattleChara::GetBoneTransformForPose and GetTracePosition_Impl take to pick which evaluated skeletal pose to sample. Callers in the shipping binary pass small integers (0 and 1 are the values observed from GetTracePositionForPlayer). Those values line up with per-player pose slots, but the parameter is a pose selector, not a player index — it just happens to coincide for the PlayerRight / PlayerLeft pair.
Trace SC6's internal word for the visual weapon trail / swoosh / particle FX on a swing — not a hitbox. ALuxTraceManager drives traces; it has no role in hit resolution. Real hit detection runs through KHitBase linked-list nodes — see Hitbox System. The two systems only share an AttackTag / KindTag coordination key so a move script can turn both on at once.
TraceManager ALuxTraceManager. The visual-trail actor on a chara (chara+0x458). Owns EffectSlotA/B particle components, a ULuxTraceComponent for trail rendering, and a KindIndex picking the visual style. Does not own, store, or resolve hitboxes.
UFunction A reflected Unreal function. Native code can find or call these through Unreal's UFunction / ProcessEvent path when the metadata and call boundary are valid.
UObject Root base class of Unreal's reflection system.
UStruct Reflected C++ struct.
ULineBatchComponent UE4's debug-line rendering component. UWorld owns three instances at offsets +0x40 (depth-tested), +0x48 (persistent), +0x50 (foreground / always on top). Appending FBatchedLine to its BatchedLines array at +0x808 is the canonical path for mod-drawn 3D debug overlays in a shipping build. See Drawing 3D Debug Lines.
FBatchedLine 0x34-byte POD consumed by ULineBatchComponent — Start + End FVectors, FLinearColor, Thickness, RemainingLifeTime, DepthPriority. The unit of work for debug-line rendering in shipping SC6.
ForegroundLineBatcher The ULineBatchComponent* at UWorld+0x50. Its scene proxy renders without depth test, so lines always appear on top of world geometry. The recommended batcher for a hitbox overlay — see Drawing 3D Debug Lines.
ALuxBattleWeaponEventHandler Native class that fires ReceiveGetWeaponTip as a BlueprintImplementableEvent during SC6 attacks. No SC6 character subclass overrides the event, so every observed call returns all-zero out-params — a dead path. Documented in Game Structures so future passes don't rediscover the same null.
ReceiveGetWeaponTip A BlueprintImplementableEvent on ALuxBattleWeaponEventHandler. Fires every frame during attacks; returns zeros because no BP override ships in SC6. Not a usable data source. See Trace System.
ProcessEvent diagnostic Native diagnostic pattern: detour UObject::ProcessEvent temporarily and log each unique (UClass, UFunction) pair for one action. Answers "which UFunctions fire during this one action?" without speculation.
GMalloc UE4's global FMalloc* pointer (shipping SC6: DAT_1441971C8). The thread-safe heap allocator used by FMemory::Malloc/Realloc/Free. A mod that grows a game-owned TArray must use this same allocator; otherwise the component's later Flush frees a CRT-allocated buffer and corrupts the heap.
Stage code The string identifier for a stage (e.g. STG001, STG011_R, STG006_V). Routed to an asset path by ResolveStageCodeToAssetPath @ 0x140641840 via substring matching on DLC keys (014, _V, 016, 006_R, 011_R, 015, 017, 018). Custom mod codes that avoid these substrings auto-route to /Game/Stage/<code>/Maps/<code>. Packed into an int by ParseStageCodeStrToId: bit 8 = _R, bit 9 = _V. See Stage System.
StageInfoHandler scbattle::StageInfoHandler, allocated by LuxBattle_CreateStageInfoHandler @ 0x1403c3010. The block at 0x144844070 once attributed to stage geometry is actually a structured round-restore payload. Deterministic terrain/wall/ring queries use the paired J_StgHitChkData frame-bounds grids; UE4 stage actors and mesh collision are separate layers. See Stage System.
Master stage enum g_LuxStage_MasterEnumStringTable @ 0x144149c50 — the TArray<FBattleStageEnumEntry> (31 stock rows) that defines the entire stage roster. Statically built by InitGlobalLuxStageMasterEnumStringTable @ 0x140149720. Adding a new stage to the random-pool / picker UI requires hooking this initializer to append entries. See Stage System.
_T / _R / _V stage suffixes Variant codes on stock stages. _T = Anomaly (Story-mode tutorial-style alt arena, filtered out of the random pool). _R = Remix (DLC variant of a base stage). _V = DLC13 alt-VS variant. The random-map filter only strips _T; _R and _V survive, which is why STG006 / STG011 etc. roll 3× as often as singleton stages. See Random-pool bias.
Steam Leaderboards (SC6) The actual storage backend for character usage stats and ranked-match scores. App ID 544750. Six known leaderboards: Characterboard (per-character usage), RankmatchWorld/Asia/America/Europe/Other (regional ranked match). Publicly readable via Steam Web API — no game modification needed. See Leaderboards.
Cosmos Channel / CeBank BANDAI NAMCO's online backend at cosmos.channel.or.jp. SC6's service ID is 024803. Carries KPI / telemetry / sign-in / sign-up; uses MessagePack over HTTPS POST. Not the source of character ranking data — that's Steam Leaderboards. Implemented by ULuxCeBankManager. Useful only for understanding what telemetry the game phones home with.
RVA / image base Image-relative address notation. SC6 docs use absolute addresses with image base 0x140000000; an RVA 0xN maps to 0x140000000 + 0xN. See Symbol Index conventions.
TArray UE4 dynamic array header: data pointer, element count, and capacity. In SC6 docs, TArray fields usually mean game-owned memory; if a mod grows one, allocate through UE's allocator path (GMalloc / FMemory), not the CRT heap. See TArrayHeader.
UClass Unreal's reflected class object. Used for class lookup, object type checks, and (UClass, UFunction) diagnostics when tracing ProcessEvent.
UProperty metadata Reflected property descriptors used by Unreal's UFunction parameter marshaling. Missing metadata means a direct native _Impl call or lower-level data read can be more reliable than a reflected call.
WorldContextObject Explicit or hidden context parameter for static Unreal functions that need a UWorld. Native callers must pass a real UObject with a valid world context, such as the BattleManager when appropriate.
ProcessEvent UObject::ProcessEvent, Unreal's central dispatch for reflected UFunction calls. A native detour can observe reflected calls, including Blueprint event dispatch, but direct _Impl callers bypass it.
BlueprintImplementableEvent A UFunction event whose body is supplied by Blueprint. If SC6 ships no overriding Blueprint body, the default event path can fire and still return no useful state.
MoveVM / LuxMoveVM SC6's native command-script VM for gameplay move state: inputs, predicates, transitions, effects, reactions, and in-battle audio triggers. Distinct from the UE4 DataTable display layer. See Move System.
FLuxMoveBank / .khd Per-character move-bank binary loaded from hdr/hdr<cid>.khd. The live bank sits at chara+0x455C0 and contains the 48-byte header, slot records, attack cells, event records, and per-slot bytecode. See On-disk Battle Data Files.
FLuxMoveBankCell / attack cell 112-byte move-bank row consumed by hit classification. Carries the current hitbox slot mask, damage, block/hit flags, stun values, reaction ids, and timing metadata. It is not a KHitBase node. See Hitbox System.
FLuxMoveLane Per-lane MoveVM state block (0x468 bytes). Three lanes live inline on every chara at chara+0x444F0, +0x44958, and +0x44DC0, covering primary, secondary, and stance/reaction state. See Move System.
CALLCOND Stack-VM opcode 0x25 in .khd slot bytecode. It calls g_LuxMoveVM_OpcodeIfDispatchTable entries for predicates, effect dispatch, nested slot execution, and transition helpers. See CALLCOND dispatch table.
KHit / KHitBase SC6's runtime linked-list hit-volume system. Body, attack, and hurtbox lists are made of KHitBase* nodes and drive actual hit detection, separate from visual Trace capsules. See Hitbox System.
yarare SC6's term for defender hit-reaction state (Japanese やられ, "being hit"). Yarare ids drive stun, launch, knockdown, wall, get-up, and throw-reaction routing after the hit classifier fires. See Reaction System.
FLuxDataTable / ConfigTable SC6's hierarchical, refcounted key-value tree at BattleManager+0x50. It is not a UE UDataTable; match setup writers build FLuxDataTablePath cursors and commit leaves such as StageSetting.StageCode or BattleRule.Rounds. See Battle Manager.
Offset shorthand Documentation convention for structure-relative offsets: chara+0xN means ALuxBattleChara*, BM+0xN means ALuxBattleManager*, vmCtx+0xN means FLuxMoveCommandPlayer*, and InputLog+0xN means ALuxBattleFrameInputLog*. See Symbol Index conventions.
VMFreezeByte / freeze gates SC6's internal VM-pause lever is g_LuxBattle_VMFreezeRecord.bVMFreezeByte, but it only covers some time-dilation paths. Reliable frame-step / replay freeze mods also gate tick drivers such as WorldTickGate, ReplayClockGate, ActorTickGate, and TimeDilationGate. See Battle Manager.
Style id / cid Three-hex per-character style key such as 001 or 006. It keys paths like hdr<cid>.khd, Content/Style/<cid>/, and ID_CMD_<cid>_*; it is not the character-select order or ELuxFightStyle. See Character Data.
HgCpuDirect / SubVM SC6's CPU behavior framework. Each behavior module is a CCpuDirectCommand-derived SubVM object; normal AI and tutorial scripts both emit inputs through this path. See CPU / AI System.
CRI ADX2 / UAtomComponent / .acb SC6's audio middleware stack. Cue banks are CRI Atom .acb files, playback runs through CRI ADX2, and UE-side in-world emitter control uses CRI's UAtomComponent, not stock UAudioComponent. See Audio System.
AssetManager / Map primary asset UE4's asset discovery/loading path for maps. Any mounted .umap under /Game/ is indexed as a Map primary asset; SC6's native stage load path requests these by stage code. See Custom Stage.
_P.pak suffix Pak filename suffix that gives a mod pak priority over stock assets when mounted by UE4. Stage replacement recipes use pakchunk999-WindowsNoEditor_P.pak in Content/Paks/~mods/. See Replace an Existing Stage.
BodySetup / AggGeom collision UE4 static-mesh collision data. Blender/FBX collision meshes named with UCX_, UBX_, USP_, or UCP_ cook into StaticMesh.BodySetup.AggGeom; this fixes visual/camera/overlap collision but not SC6 deterministic ring/wall data. See Replace an Existing Stage.
StageInfoTable / LuxBattleStageInfoTableRow UE4 DataTable row type for per-stage round positions, ring edge, wall descriptor, optional centers, and camera DOF. Editing it changes stage setup metadata but does not replace deterministic J_StgHitChkData terrain/wall/ring data. See Stage System.
ULuxStageAssetPaths / RawAssets / ESA_HitData Per-stage content-side asset list. RawAssets maps ESA_HitData and ESA_HitData2 to the A/B J_StgHitChkData* blobs and also carries compact cosmetic settings (bWet, anomaly VFX, breath). See Stage System.
J_StgHitChkData / FrameBoundsGrid Serialized legacy terrain/wall/ring-edge collision blob expanded at runtime into A/B frame-bounds grids. MoveVM geometry predicates, terrain sampling, wall collision, and ring-edge logic read this layer, not UE4 mesh BodySetup alone. See Stage System.