Skip to content

3P rifle representation: visible to other players + fix Photo Mode contorted pose #1

Description

@mellox

Summary

The laser rifle is currently a first-person viewmodel only. Two consequences:

  1. Multiplayer: other players do not see the rifle in your hands at all.
  2. Photo Mode: with the rifle equipped, Satisfactory's decoupled (free-fly) camera renders the pioneer in a distorted, over-extended aim pose (screenshot-confirmed it is the 3P character mesh Mesh3P, not the 1P arms).

Both are the same underlying gap: there is no proper third-person representation of the rifle.

Root cause

  • The visible rifle is BodyMesh, anchored to the camera / Mesh1P and positioned in view space by ProceduralArmsHold()Source/LaserRifleMod/Private/LaserRifleWeapon.cpp (~line 604; see also AttachToCamera ~499, AttachToArms ~522).
  • BodyMesh, RiggedBody, and all FX are SetOnlyOwnerSee(true), so they never replicate.
  • The Photo Mode distortion is FactoryGame's built-in equipment aim animation on Mesh3P, revealed from an external angle.

Do NOT just flip the flag

Setting SetOnlyOwnerSee(false) alone is wrong — the mesh is camera-space, so other players would see it floating at the player's face, not held in the hands. A real 3P attachment is required.

Proposed fix

Add a real 3P representation — a rifle mesh attached to the character's 3P hand/weapon socket that moves with the 3P body animation. Same fix for both symptoms.

  • Cover all 10 per-Mk meshes (see ApplyVisualsForLevel) with correct per-Mk 3P scale/orientation.
  • Investigate AFGWeapon/AFGEquipment 3P representation (AFGEquipmentAttachment, mAttachSocket, 3P mesh) via the graphify FactoryGame-API vault, then confirm against the real headers under SatisfactoryModLoader\Source\FactoryGame\Public.

Verify first (decides severity)

2-player listen-server test: Player A equips the rifle and enters Photo Mode with the decoupled camera; Player B observes A. Does B see the contortion or a normal pose? (Hypothesis: the decoupled camera is local, so B sees A normally via A's replicated aim rotation — confirm in-game, do not assume.)

Acceptance

  • Other players see the rifle held correctly in 3P at every Mk.
  • Photo Mode framing reads correctly, or a documented neutral pose while the decoupled camera is active.
  • [LR] diagnostics on the new 3P path; cold review + in-game test checklist.

Target: 1.1.0. Documented as a known limitation in the 1.0.0 ficsit description.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions