Skip to content

First person system

GASPALS first person shows the character's own body from its eyes, not floating arms. The first-person meshes are generated at runtime from lists you set on a component, so you never add or tag first-person components by hand. On top of the third-person pose, a first-person Anim Blueprint adds a stable camera, first-person arm poses, aim down sights (ADS) and an arm aim offset.

Folder /GASPALS/Systems/FirstPersonSystem
Component AC_FirstPersonRendering (on the pawn, on each visual override, and on each equipment actor)
Anim Blueprint ABP_FirstPerson_UEFN (and the template ABP_FirstPerson_Host for meshes on other skeletons)
Control Rigs CR_FirstPerson_BodyCamera, CR_FirstPerson_Camera, CR_FirstPerson_ADS, CR_FirstPerson_AimOffset
Overlays ABP_OverlayFirstPerson_Base and its children (Rifle, Pistol2H, Bow)
Camera rigs CameraRig_FP_Base, CameraRig_FP_Scale (Split mode)
Tools Tools/EUB_SplitFirstPersonMesh (cut a mesh into arms and body)
Settings First person reference

Switch the camera to first person with the camera perspective input (see Controls).

Modes

Set First Person Mode on the character's AC_FirstPersonRendering.

First-person arm poses on the full body: the classic shooter look while keeping legs and shadow. Looking down, the arms follow the view pitch up to First Person Arm Pitch Down Limit (45 degrees) and the spine leans for the rest; the camera follows the lean by First Person Camera Follow Lean (0.75).

One full-body mesh (plus clothing). Needs First Person Retargeter on skeletons other than the UEFN mannequin.

The same image, but arms and body are separate meshes sharing one pose. The camera director adds CameraRig_FP_Scale, which draws the arms and the weapon at 0.25 scale toward the camera, so they do not clip into walls. The image looks the same; only depth changes.

Needs First Person Arms Meshes and First Person Body Meshes.

The third-person animation seen from the eyes, unchanged, plus ADS and a small, always-on weapon presentation (True First Person Weapon Presentation, 0.3: how far the weapon is pulled toward the sight line when not aiming). The head is pitched by the view. No first-person overlay poses.

Works on any skeleton, with no retargeter. Weapons can clip into walls.

How it works

Mesh generation

When the pawn initializes its systems, AC_FirstPersonRendering.BuildFirstPersonMeshes creates the first-person meshes once:

  • Overlay modes: the first entry of First Person Full Meshes becomes the lead mesh: it runs the first-person Anim Blueprint. The other entries (clothing, hair) follow it.
  • Split mode: the first Arms mesh is the lead; the other arms meshes and all Body meshes follow.
  • Empty lists: the third-person mesh is reused as the lead, with the head bone hidden.

Every generated mesh is attached to the third-person mesh, visible to the owning player only, casts no shadow and only animates when rendered. Material overrides are copied from the matching third-person component (same mesh, or a mesh named <Name>_FP...). Followers that have their own skeleton and post-process Anim Blueprint (the MetaHuman hoodie and shoes) keep that Anim Blueprint, which copies the lead's pose and drives their corrective bones; other followers use leader pose.

When the camera switches perspective, the component swaps visibility: in first person the first-person meshes show for the owner and the third-person meshes become world-space representations (other players and shadows still see them).

The first-person pose

ABP_FirstPerson_UEFN runs on the lead mesh:

flowchart TD
    A[Copy pose from the third-person mesh] --> B[CR_FirstPerson_BodyCamera<br>VB Camera follows the body head]
    B --> C{Overlay?}
    C -->|TrueFirstPerson, montage, no overlay| E
    C -->|overlay modes| D[First-person overlay from spine_03 up<br>retargeted from the UEFN logic mesh if needed]
    D --> E[CR_FirstPerson_Camera<br>stable head, camera at the eyes]
    E --> F[CR_FirstPerson_ADS<br>hands to the sight line when aiming]
    F --> G[CR_FirstPerson_AimOffset<br>arms follow the view, spine leans]
    G --> H[Hand IK]
  1. Copy the third-person pose (all locomotion, montages and overlays come along).
  2. Body camera: VB Camera follows the body's head, smoothed vertically, so the view follows crouches, traversal and landings. That is why first person needs no crouch camera offset.
  3. Overlay: the first-person arm pose (ALI_OverlayFirstPerson) replaces the upper body from spine_03. On other skeletons it is retargeted from the pawn's hidden UEFN first-person logic mesh with First Person Retargeter.
  4. Camera rig: keeps the head stable, puts the head at its reference rotation (plus the view pitch) and places VB Camera at the eyes (First Person Eye Offset).
  5. ADS: while aiming, the hands move so the item's ADS socket sits on the sight line in front of the eye.
  6. Aim offset: the arms rotate with the view pitch up to the limits; the spine takes the rest.

The camera attaches to the lead mesh's VB Camera virtual bone (by AC_CameraSystem).

Equipment in first person

Equipment actors have one mesh and their own AC_FirstPersonRendering. At runtime it creates one first-person copy of each mesh on the actor (same mesh, same anim class), attached to the source, visible to the owner only, with no collision. The equipment system attaches the copies to the first-person hand socket. In third person the copy is hidden; in first person it shows and the original becomes a world-space representation. Meshes you tag FirstPersonRendering or ThirdPersonRendering yourself are used as tagged instead. The first-person meshes the component generated itself are never copied again (IsGeneratedFirstPersonMesh), so a visual override actor gets one first-person mesh per source mesh.

Overlays

First-person overlay Blueprints (ABP_OverlayFirstPerson_<Item>) are linked by the equipment system from the item's data asset (Overlay Pose FP). They hold first-person arm poses and curves for the first-person rigs (enable_cr_fp_stable_arms, enable_cr_fp_stable_head, enable_cr_fp_ads, enable_cr_fp_aimoffset, hand IK). Rifle, Pistol2H and Bow have one; items without one show the third-person overlay in first person.

Configuration

On AC_FirstPersonRendering, category GASPALS > FirstPerson > Setup:

Setting Use
First Person Mode See Modes.
First Person Full Meshes Meshes for the overlay and true modes. First = lead. Use headless meshes when you have them.
First Person Arms Meshes / Body Meshes Meshes for the Split mode.
Third Person Mesh Name The body Skeletal Mesh Component to copy from (SkeletalMesh on the Mover pawn and visual overrides, CharacterMesh0 on the CMC pawn).
First Person Retargeter IK Retargeter from the UEFN mannequin to this skeleton. Needed by the overlay modes on non-UEFN skeletons.
First Person Eye Offset Camera point relative to the head bone, in mesh space at the reference pose (X right, Y forward, Z up, cm). UEFN (0,0,0); Manny, Quinn, Kellan (0,12,0).
First Person Arm Pitch Down Limit / Up Limit Degrees the arms follow the view before the spine leans (45 / 90).
First Person Camera Follow Lean How much the camera follows the spine lean looking down (0 stays, 1 follows; 0.75).
True First Person Weapon Presentation TrueFirstPerson weapon raise when not aiming (0.3).

For retargeted characters these are set on the visual override's own component (see Add a retargeted character). Recipes are in Configure first person.

Skeleton requirements

  • A VB Camera virtual bone from root to head. The retargeter does not animate virtual bones, so GASPALS writes it from the body's head in CR_FirstPerson_BodyCamera.
  • A head bone.
  • For the overlay modes: UE-standard spine, clavicle and neck names (spine_01..spine_05, clavicle_l/r, neck_01).

Missing pieces are reported on screen for the local player, in orange, starting with GASPALS First Person (...).

Cover and traversal in first person

  • Cover: sticky cover switches to third person by default; auto cover gives wall-hug movement while the body follows the camera. See Cover system.
  • Traversal: during a traversal move in first person, the view turns toward the ledge when it is more than 15 degrees off.

Networking

First-person meshes exist only for the owning player's view; other players see the third-person character. The camera perspective is sent to the server, so the server knows which representation the owner uses. Nothing else in the first-person pipeline replicates.

Limitations

  • TrueFirstPerson: weapons can clip into walls (no first-person scale), and the weapon follows the third-person aim with a frame of delay.
  • FirstPersonOverlaySplit: the body is not scaled, so it receives the hidden third-person body's shadow.
  • EUB_SplitFirstPersonMesh gives a usable first cut; hand-authored arm and body meshes look cleaner, especially with dense clothing.
  • Only the rifle, pistol and bow have first-person overlay poses.
  • Cost: the first-person Anim Blueprint copies and re-poses a full body. One extra IK retarget runs for the overlay on retargeted characters.