Skip to content

End-To-End Runtime Trace

This chapter ties the current vertical slice together as a runtime story.

Spawn

The level contains BP_SalvageSpawnPoint.

At BeginPlay:

AAndromedaSalvageSpawnPoint::BeginPlay
-> SpawnSalvageItem
-> SpawnActor<AAndromedaSalvageItem>

The spawn point uses its location and rotation, but explicitly spawns at unit scale.

Pick Up

The player looks at the spawned salvage item.

Tick
-> UpdateFocusedObject
-> line trace hits BP_DamagedReactorCoil
-> ResolveFocusableFromHit returns the item actor as a pickup target
-> pickup target and carry component both allow pickup
-> prompt displays pickup text

Player presses E:

InteractInput
-> cast focused pickup target to salvage item
-> CarryComponent->TryPickUpTarget
-> item attaches to CarryComponent

The item collision is disabled while carried and the character trace ignores it.

Freeform Place On Scanner

The player presses G while carrying the item:

placement mode checks held item
-> syncs and shows registered ghost mesh
-> traces from camera
-> resolves aimed workstation when possible
-> checks target is inside station bounds
-> checks blocking overlap
-> checks workstation placement volume for warning state

The player presses E while placement mode is active:

TryCommitPlacement
-> CarryComponent->TryPlaceHeldItemAtTransform
-> item detaches from hands
-> collision enabled
-> physics enabled
-> pickup interaction enabled
-> placement committed event broadcasts through the placement event subsystem
-> workstations self-refresh from spatial discovery

The item remains a physical pickup-enabled salvage actor. The workstation does not mount or own it.

Run Scanner

The player looks at the scanner screen and presses E.

line trace focuses scanner Screen
-> workstation validator finds exactly one acceptable spatial item
-> scanner TryUsePlacedObject receives that object and checks CanUsePlacedObject
-> item BuildScanResult
-> StationDatabank->TryRecordScanResult
-> ScannerScreen->ShowScanResult
-> workstation broadcasts interactable state changed

The scanner display updates on the physical scanner screen. No viewport scan modal opens, and input mode does not change.

Recall Scan Records

If the player is inside a station access area and presses the scan recall input:

ScanRecallInput
-> character broadcasts OnScanRecallRequested
-> HUD handles recall request
-> HUD queries current station databank
-> WBP_SuitScanRecall displays station scan records

The recall overlay is part of the suit HUD. It is read-only in this pass and does not show the mouse cursor or switch to UI-only input.

Move To Packager Workstation

The player picks the scanned item back up normally from the physical item, carries it to BP_PackagerWorkstation, enters placement mode, and freeform-places it in the packager placement volume.

The player looks at the packager screen and presses E:

workstation validator finds exactly one acceptable spatial item
-> packager TryUsePlacedObject checks CanUsePlacedObject and the station databank scan record
-> item not package assigned
-> AssignRequiredPackage
-> bPackageAssigned = true

The item remains physical and pickup-enabled after package assignment.

Current Slice Summary

The current slice is:

spawn item in cargo hangar
-> pick up
-> freeform place on scanner
-> scan evidence
-> pick up
-> freeform place on packager workstation
-> assign package
-> rotate preview
-> release item with physics inside station bounds
-> pick item back up when needed

This better matches the design principle:

Every object is evidence.