AssetPro - Starship — Pilotable Spaceship | Board, Fly, Land, Disembark | UE5

Starship is a runtime C++ plugin (with full Blueprint support) for Unreal Engine 5 that adds a complete 6DOF spacecraft pawn - fly, hover, land, take off and pilot a ship on foot, in atmosphere or in space. The ship reads the engine's variable gravity, so it aligns to your world's gravity automatically and flies the same in normal gravity or zero-g. It is anti-gravity powered: gravity never drags it down, so releasing the controls leaves it hovering in place.

The ship has a four-state flight model driven by altitude above the ground: Landed, Hovering, Floating (space) and Flying. Walk up to the ship as an on-foot character, press a key to board, fly and land, then step back out - the whole pilot loop is built in.

Drop the included BP_Starship into your level, assign your own ship static mesh, and fly. A reusable engine component (mesh + Niagara exhaust + sound, driven by one Set Power) and HUD-ready Blueprint events are included.

Preview Video

Playable Demo

──────────────────────────────

CORE FEATURES

──────────────────────────────

▸ 6DOF Anti-Gravity Flight - a powered spacecraft that flies in full six degrees of freedom. Gravity never pulls it down; it only sets which way is "up" and which way climb goes, so the ship holds altitude the moment you let go.

▸ Four-State, Altitude-Driven Flight Model - the ship auto-detects its state from elevation above the ground: Landed (rests on a surface), Hovering (holds altitude, stays level, moves but never tilts/rolls), Floating (drifts in space), and Flying (turns to fly where you look, with full tilt and bank). Each state has its own controls and feel.

▸ Footprint Ground Detection - a box sweep along gravity (sized to your hull and aligned to the ship's heading) measures true elevation above ground, so landing reads correctly on slopes and uneven terrain - not a single ray that misses.

▸ Hover, Land & Take-Off Sequences - hold descend at the hover floor to start a smooth, timed landing down to landing-gear height; hold ascend while landed for a spool-up delay then a clean lift-off. Ships placed below the hover floor auto-land on spawn.

▸ Limited Auto-Roll Banking - the ship banks into turns and strafe, proportional to how far it has to turn, eased and clamped to separate hover/fly limits. Subtle and controllable, never a runaway barrel roll.

▸ Gravity-Aligned Free-Orbit Camera - an independent third-person orbit camera (absolute rotation, decoupled from the ship) that stays level to gravity. Look anywhere; the ship turns to follow only while Flying.

▸ Reusable Engine Component - UStarshipEngineComponent bundles a static mesh + a Niagara exhaust + an optional looping sound, all driven by one Set Power(0..1). Subclass it in Blueprint to preset the mesh/FX/sound, add one per nozzle, and drive it from the ship's thrust.

▸ On-Foot Pilot Interaction - a movable interaction volume detects an on-foot player character; a "Press [key] to Pilot" prompt appears, the player boards (possess + attach), flies, lands, and a "Press [key] to Disembark" prompt lets them step back out. The interact binding is injected onto the character, so no changes to your character Blueprint are required.

▸ Gravity-Agnostic - reads gravity through a small abstraction with no compile-time dependency on any gravity plugin. Uses the engine's variable gravity by default; an optional reflection bridge lets it pick up directional (planet/ring) gravity from an external provider without linking against it.

▸ HUD-Ready Blueprint Events - overridable events fire on every meaningful moment: flight-state change, landing/take-off start, landing-gear and main-door open/close, and Show/Clear Prompt with the live key text. Wire them straight to UMG.

▸ Full Blueprint Support - thrust, speeds, elevations, banking, landing timings, camera and engine are all exposed; flight state, elevation and power are queryable at runtime.

──────────────────────────────

TECHNICAL HIGHLIGHTS

──────────────────────────────

▸ UPawnMovementComponent-based 6DOF flight with an auto-detected four-state machine (Landed / Hovering / Floating / Flying), elevation-gated by a footprint box-sweep along gravity

▸ Anti-grav model - gravity sets orientation + the climb axis only; per-state damping, state-based and lateral speed caps, and yaw-lag banking

▸ Smooth, duration-driven landing and take-off (with a take-off spool-up delay), bidirectional descent/ascent to a target elevation, and a soft hover-floor brake

▸ Gravity read through IStarshipGravitySource - a default world-gravity source, plus a reflection adapter that finds an external gravity provider by name (no compile-time dependency, graceful fallback)

▸ Gravity-aligned, absolute-rotation orbit camera (the ship turns to follow only while Flying)

▸ Reusable engine SceneComponent (static mesh + Niagara + optional audio) driven by Set Power; BlueprintNativeEvents you can override

▸ On-foot board/disembark via injected Enhanced Input - possess + attach the pilot (movement disabled while stowed), key-aware prompts

──────────────────────────────

INCLUDED

──────────────────────────────

▸ Full C++ source

▸ AStarshipPawn / BP_Starship - drop-in, ready-to-fly spacecraft pawn

▸ UStarshipEngineComponent / BP_Engine - reusable engine (mesh + Niagara + sound)

▸ A sample lander mesh with materials/textures (body, gear, doors, glass, engines, seat)

▸ Engine Niagara exhaust + looping sound

▸ Enhanced Input mapping context + thrust / strafe / climb / roll / look / stabilize / interact actions

▸ HUD widgets for the flight states + a prompt widget, wired to the Blueprint events

▸ Demo level with the ship ready to board and fly

──────────────────────────────

PERFECT FOR

──────────────────────────────

Space and sci-fi games, planetary exploration, landers and shuttles, open-world games with player-flyable vehicles, on-foot-plus-ship gameplay, and any project that needs a hover/land/fly spacecraft with a built-in pilot loop - without writing 6DOF flight, gravity-aware orientation, landing logic, or the board/disembark plumbing from scratch.

──────────────────────────────

NOTES

──────────────────────────────

▸ No ship mesh is shipped in the core scaffold by design - assign your own static mesh (a sample lander is included for the demo).

▸ Uses Enhanced Input and Niagara (both bundled with UE5).

▸ Reads the engine's built-in variable gravity; an optional reflection bridge connects to an external directional-gravity provider with no compile-time dependency.

▸ The on-foot pilot character is your own pawn (the included demo uses a standard character); boarding needs no changes to it.

▸ Built for single-player / local play; networked multiplayer is not supported in V1.0.

▸ Supports Unreal Engine 5.4, 5.5, 5.6, 5.7, and 5.8.

Starship 1.1 is out - Multiplayer & Passengers

image

Big one this time. Starship 1.1 takes the 6DOF spacecraft pawn fully multiplayer and adds passengers, so you can crew up and fly together. All the V1.0 flight, camera, engine and gravity behavior is exactly as it was - this release is purely additive.

The headline features

Full multiplayer support
The pawn is now network-replicated with a client-authoritative flight model. The piloting client runs the actual flight sim and relays its authoritative motion (plus cosmetic state - gear, doors, engine power) to the server, which fans it out to everyone else. Possession, boarding and seating are all server-authoritative. Works on both listen and dedicated servers.

Smooth proxy interpolation
Remote ships chase the replicated transform instead of snapping to it, so other players’ ships move fluidly instead of stuttering - and riders attached to a ship keep a steady camera. Tunable with a single Proxy Smoothing Speed value.

Passengers
Up to a configurable number of riders can board a piloted ship using the same key-aware prompt as the pilot. Players and NPCs can be seated, anyone standing on or beside the ship is auto-seated at take-off, and you can choose landed-only disembark or allow mid-flight bail-outs (handy for jetpack characters). Riders are welded to the hull and stay put through the whole flight, on every machine.

No character changes required
This was the tricky part to get right. Board and ride requests route through injected Enhanced Input and a runtime-injected rider component on the character’s own connection - so a passenger can command a ship it doesn’t own without a single edit to your Character or PlayerController.

New Blueprint hooks

  • On Local Pilot Begin / End - for pilot HUDs on the owning machine (the engine’s Possessed event never reaches a client, so this fills the gap)
  • On Passenger Boarded / Left - fires on every machine
  • On Local Passenger Begin / End - for the local rider’s HUD
  • Get Pilot - replicated query, valid everywhere

New exposed properties: Max Passengers, Passenger Exit Requires Landed, Proxy Smoothing Speed.

Upgrading

Drop-in. Nothing in the V1.0 API changed - single-player projects behave identically, and existing setups keep working. Now supports Unreal Engine 5.4, 5.5, 5.6, 5.7 and 5.8.

Grab it on Fab, and let me know how your co-op flights go. Bug reports and feature requests welcome in this thread.

Starship V1.2 - 6DOF Flight, Vectoring Engines & Landing Gear

Starship, my 6DOF pilotable spacecraft plugin for UE5, just got a big V1.2 update. A few people here have been following it, so I wanted to share what’s new.
Quick recap if you haven’t seen it: Starship is a complete spacecraft pawn you fly, hover, land, and pilot on foot, in atmosphere or space, in single-player or multiplayer (client-authoritative, with no changes to your character or player controller). Walk up to the ship, press a key to board, fly and land, step back out. Others can ride along as passengers.

What’s new in V1.2:

  • Space-Flight cruise. Bring the engines online in space and the ship enters a fast zero-g throttle-cruise: push to accelerate, pull to slow, release to hold speed, and steering carries the velocity with the nose. A ship parked cold in space powers up with hold-climb, like a take-off.
  • Water and steep-slope anchoring. Land over deep water or ground too steep for the gear and the ship holds an anchored hover (gear up, door open, engines running) instead of tipping. Shallow water lands on the seabed.
  • Approach auto-brake. The ship probes ahead and sheds speed on its own: gravity fields in cruise (arriving at atmospheric speed), collisions while Flying, with an event for a HUD light.
  • Thrust-vectoring engines. The engine nozzles physically swivel to vector thrust: leaning into turns, tilting against gravity for a VTOL look, canting for roll. Optional differential power turns canted pods into strafe and brake thrusters, and power-scaled flame shells breathe with throttle. Engines can self-drive from the flight state with per-bank roles (cruise mains vs hover thrusters).
  • Telescoping landing gear. A drop-in strut component builds its own telescoping sleeve and leg from your meshes, deploys on landing and retracts on take-off, and line-traces the floor per strut so legs settle at different lengths on uneven ground. Correct on every machine and for late joiners.
  • Door interaction. A character at the ship’s door in space can open it from outside.

All the V1.1 multiplayer and passenger features carry over unchanged. Full C++ source, UE 5.4 to 5.8.

Starship 1.2