The motion probe splits the problem in two: velocity -24, -182, -28 cm/s (a body that cannot climb 9 m in 1.5 s) mass 1500 kg (the override DID apply) box 452 x 205 x 40 (correct) bounds extent 1,1,1 (still degenerate) actor Z 1393, spawned at 458 The physics body is nearly still while the actor is nine metres above its spawn. So this is not a force problem at all - it is a transform problem: something writes the actor's transform that is neither the body's velocity nor our code, which is also what the degenerate bounds are telling us from the other side. Next: find who writes that transform. Suspects are the Chaos movement component's UpdateState / OnUpdateTransform and the component hierarchy - a pawn whose root is the mesh while the physics state belongs elsewhere behaves exactly like this. Pawn parked again so the demo stays clean.
Game
The Unreal project lives at Game/GigLine/GigLine.uproject once created. Nothing here yet.
What gets committed
Config/— engine and project settings, including the quality presets used for release checksSource/— C++ modulesContent/—0.1.0map, materials, meshes; LFS-trackedGigLine.uproject
What does not
Binaries/, Intermediate/, Saved/, DerivedDataCache/ — all generated. .gitignore covers them; do not add exceptions.
Engine
Installed outside the repository. Its path and exact version are recorded in ../Docs/toolchain.md. Nothing in this directory may assume a machine-specific engine path; the documented build procedure is ../Docs/build.md.