Overview
ShipVFX is a no-code, data-driven ship-FX framework for Unity 6 / URP - a
complete authoring tool, not a particle pack. You author a ship's entire look in a live
Configurator with a fly-around preview; everything is stored in one
ShipVisualConfig asset and rebuilt identically in player builds. No
particle systems, no per-ship prefab wiring, no VFX specialist required.
Two tiers of docs. This site covers the essentials so you can evaluate and get running. The full advanced reference (every parameter, shader internals, advanced workflows) is delivered inside the pack as offline documentation.
Requirements
Authoring happens in the Unity Editor on a desktop computer. The Configurator is an editor tool. Desktop/mobile compatibility and benchmark figures describe the configs, runtime components and shaders running in the exported game, not the editor running on a phone.
- Unity 6.0 LTS (6000.0) or newer. Validated on 6000.0.73f1 with URP 17.0.4, 6000.3.16f1 with URP 17.3.0, 6000.4.0f1 and 6000.5.5f1. Earlier Unity generations have not been validated.
- Universal Render Pipeline (URP) - ShipVFX rendering is URP-only. Scripts can compile before URP is installed; Built-in RP and HDRP rendering are not supported.
- Bloom is strongly recommended - the HDR plumes are designed to glow. The pack includes a one-click Recommended Grade (Bloom + tonemap) so this is never a manual setup.
- Scales mobile through desktop - cheap additive defaults everywhere; the heavy Powerhouse tiers (reactor trail, volumetric smoke, heat-haze) are opt-in for desktop/console.
- No third-party packages, no DLLs - full C# source in clean assemblies (runtime / editor / tests).
Installation
- Import ShipVFX into your Unity 6 project - it lives under
Assets/ShipVFX. - For rendering, confirm a URP asset is assigned under Project Settings → Graphics, and check overrides under Quality. Starting without URP? Follow the steps below first.
- Open the bundled showcase - Tools → ShipVFX → Open Showcase Scene - and press Play to confirm everything renders.
- If the FX look flat or dull, run Tools → ShipVFX → Add Recommended Grade to Scene (one click, adds Bloom + tonemapping; one-click revert too).
Starting in a project without URP
Import can finish without URP installed. No setup window opens automatically and your project is not converted. Open Tools → ShipVFX → Configurator: until URP is active, it shows ShipVFX requires URP with instructions instead of its authoring controls.
Without Universal RP, ShipVFX skips its URP shader code and uses an invisible installation fallback. This prevents missing-include shader errors and pink effects while the setup tools remain available. Install the matching URP package and activate its pipeline to enable the normal effects. This does not add Built-in or HDRP rendering support.
- Open Tools → ShipVFX → Render Pipeline Setup, or use the instructions in the Configurator.
- Click Open Package Manager and install Universal RP (the matching editor version; URP 17.0 on Unity 6.0; URP 17.3 on Unity 6.3 LTS; URP 17.4 on Unity 6.4).
- Create a URP Pipeline Asset with a Universal Renderer from Unity's Assets/Create menu.
- Click Open Graphics Settings and assign the pipeline asset. Check Open Quality Settings too: the active quality level can override the pipeline. Installing URP alone is not enough.
- Reopen the Configurator: its normal Beginner/Advanced interface is available once URP is active.
- Then open the showcase and press Play. If you changed pipeline during Play Mode, stop and restart it.
This makes installation possible before URP setup; it does not add Built-in or HDRP rendering. Open the bundled scene after setup because its URP camera, light and volume components require those packages. No packages or pipeline settings are changed automatically.
Tools ▸ ShipVFX ▸ Render Pipeline Setup - install and activate URP
Tools ▸ ShipVFX ▸ Configurator - the authoring tool
Tools ▸ ShipVFX ▸ Open Showcase Scene - the press-Play demo
Tools ▸ ShipVFX ▸ Add Recommended Grade - Bloom + tonemap, one click Import writes to Assets/ShipVFX and nowhere else. Your own configs live outside the package folder (Assets/ShipVFXConfigs by default), so future updates can never touch them. When a new version lands, delete Assets/ShipVFX and import fresh.
Quick start ~3 min · no code
Open Tools → ShipVFX → Configurator. It starts in Beginner mode - a guided 7-step wizard that takes you from an empty config to a flying, styled ship:
- Config - create a fresh
ShipVisualConfigasset (or pick one); it saves outside the package folder, so updates never clobber it. - Ship - drop in your FBX or prefab; the FX auto-fit to the model's size. Then set the forward axis so the nose runs along travel - quick nose-nudge buttons (or Orient ship from markers) handle the usual import cases. Models rarely face +Z, and skipping this flies the ship sideways.
- Engines - + Add drops a socket (one thruster: plume + trail) on the rear hull; select it and place it with Unity's own Move tool. Scaling a socket resizes that whole engine, and its plume/trail/nozzle toggles live right here.
- Lights - opt in to nav blinkers, window glow, the engine-cluster light, a rotating beacon, an LED ribbon and custom light sockets, with a live light-budget hint.
- Size - an FX Scale master slider plus Auto-fit (re-measures the model bounds) scale every effect proportionally to your hull.
- Style - pick a shape, a thruster type and a colour theme. Your sockets, scale and orientation are always preserved.
- Fly - ▶ Enter Live Preview: an isolated bloom scene where you fly the ship, watch the trails bend, tweak anything live, then Save to Config Asset.
To wire it into your game: Add Component → ShipVFX → Ship VFX Binder on the
ship, assign the config (or a ShipVFXLibrary + name key), press Play.
The binder uses no editor code - it works identically in builds.
Everything above is editor + data. Advanced mode (one click, top-right) exposes all ~300 parameters when you want to go deeper.
The twelve visual systems
One config drives all of them. Each can be toggled and tuned independently - and every one responds to the ship's gameplay state.
Configuration & presets
A ShipVisualConfig is a ScriptableObject - the single source of truth for a
ship. Every one of its ~300 parameters carries a plain-language tooltip, and the
Configurator mirrors whatever you hover in an always-visible help bar.
- 12 named preset looks - complete visual stacks (Shock-Diamond Jet, Ion Propulsion, Violet Warp Drive, …). They're styled starting points tuned on our own hulls: colours and motion travel anywhere; sizes may want a pass on your ship - applying a preset deliberately preserves your sockets, scale and orientation, so re-tuning is non-destructive.
- 8 one-click colour themes + any custom colour - recolours every thruster visual coherently while nav lights stay functional (port stays red) and smoke stays neutral. The colour's alpha is a strength knob.
- 5 per-state profiles - Idle, Selected, Moving, ReturningHome, MiningReady each carry their own intensity, trail, blink-rate and particle settings.
- JSON export / import - move a complete look between projects, diff configs, keep backups.
Field-by-field reference and advanced recipes are in the in-pack offline docs.
Runtime API build-safe
ShipVFX is built for game state, not just looks. The runtime resolves configs by name
with no AssetDatabase, so the editor preview and the shipped build render
identically. Drive it from any script:
using ShipVFX;
var ctrl = GetComponent<ShipVFXBinder>().Controller;
// Idle / Selected / Moving / ReturningHome / MiningReady
ctrl.SetState(ShipVisualState.Moving);
ctrl.SetThrottle(0.8f); // 0..1 engine power
ctrl.SetBoost(true); // afterburner multiplier
ctrl.SetWarp(0.5f); // 0..1 warp charge
ctrl.SetDamage(0.3f); // misfires as damage rises
ctrl.SetThrustVector(new Vector2(p, y)); // visual gimbal Events (OnStateChanged, OnFxRebuilt), the optional engine-audio module and the full surface are documented in the in-pack API.md.
Performance
- Procedural-first: no shipped FX meshes or texture atlases - the default FX need ~0 textures and a tiny footprint, with animation computed in-shader from
_Time. A handful of optional hero plume textures ship for an ultra look. - Hard budgets by design: sparks cap at 32 particles per engine; mobile smoke at 24; collision, shadows and sub-emitters are force-disabled on all particles.
- Quality tiers: mobile-safe additive defaults everywhere; Powerhouse tiers (reactor trail, 256-particle curl-noise smoke, heat-haze distortion) are explicit opt-ins for desktop/console.
- Light budget guidance: defaults are tuned to URP's ~4 pixel-lights-per-object mobile guideline, with a live light tally in the Configurator and a zero-cost hull-emission alternative when you're at the limit.
- Ship-size auto-scaling: light ranges and intensities derive from the measured hull, so one config reads correctly at any scale - no per-ship re-tuning.
- 96 automated tests cover the math, build path and shader compilation with and without URP.
Measured, not promised. These numbers come from the automated 17-scenario benchmark we run on the framework - ships flying at full throttle and filling the screen, on our own 35k-triangle test hull (reports dated 2026-07-18):
- Desktop (RTX 3090, 1080p): one fully dressed Mobile-tier ship adds about 0.2 ms; a fleet of 8 full ships renders at 460 fps with every effect on screen (314 fps with the Powerhouse tier on all eight). Each figure is the median of a 3-pass run on a working machine we do not quiet first, so it is a floor, not a ceiling. Soak testing with live state cycling and FX rebuilds: flat memory, zero errors.
- Mobile (OnePlus 5T, a 2017 phone, GLES3): the Mobile tier holds a locked 60 fps - one ship in close-up and the 8-ship fleet alike. That is the panel's ceiling rather than the package's, because the handset pins at 60 Hz in almost every scenario. The Powerhouse tier still runs (fleet at 55 fps, measured with the beacon and the ribbon both on) but stays a desktop opt-in by design. Same soak verdict: flat memory, zero errors, no thermal decay.
- The trails cost effectively nothing: the plasma trail system animates entirely in the vertex shader - measured at 0.0 ms on the 2017 phone and within noise on desktop.
- The one honest mobile cost: exotic distortion (+1.1 ms on the 5T) - which is exactly why it ships desktop-gated.
Your hulls, scene and target hardware shift the totals; the framework's own overhead is the part we control and re-measure per release. The test hull is our own asset and not part of the package. Full cross-device tables and the complete method live on the Benchmarks page.
License
ShipVFX is sold through the Unity Asset Store and governed by the standard Asset Store End User License Agreement: use it in your own Unity projects - personal or commercial - and ship it compiled inside your finished game or application. Redistributing or reselling the source assets as an asset, template or competing package is not permitted. Full C# source is included.
The ship models and scenes shown on this site and in the interactive demo are our own demonstration assets - they are not part of the package. ShipVFX delivers the VFX and lighting systems, which attach to your own models.
One exception, and it is disclosed deliberately: the package bundles a single AI-generated demo hull, with a finished rig for it, so the Configurator has something to demonstrate on the moment you import it and you can fly a complete ship from one config. It is a test fixture, not content - no modelling or art pass has been done to it, so expect generator artefacts and unoptimised topology, and do not read it as a sample of ShipVFX quality. It carries no separate licence - the standard EULA covers it like everything else - but as raw generator output it is a poor choice for anything you ship, which is a quality warning rather than a restriction. It is the only model in the package, nothing else depends on it, and deleting its folder breaks nothing.
Changelog
- 1.0.0 Released 2026-09-24
Initial release: 12 ship visual systems, a no-code Configurator with Live Preview, ready-made presets and a gameplay API.
Included
- Volumetric thruster plumes - additive 3D cones with a hot inner core, sway and flicker. Ten cross-section shapes (Circle, RectangleH/V, Square, Triangle, RoundedRect, Hexagon, IonRing, animated Flame, Custom outline or mesh) crossed with 6 procedural texture patterns and 6 shader-driven motion modes.
- Plasma trails - dual-layer outer plus hot core, Mobile flame or Powerhouse Reactor core, shock diamonds and a flight-path contrail.
- Full light rig - engine cluster, port/starboard nav lights, window glow, unlimited custom point lights, a rotating beacon (LED columns or lighthouse beam), a bendable 3D LED ribbon with an editable path and cast lights, and hull emission. Auto-ranged and auto-scaled to ship size, with a shared synchronize beat.
- Exhaust detail - nozzle ignition flame, thrust-driven aperture, burner spots, engine sparks and smoke, and opt-in refraction distortion (heat haze / gravitational lensing).
- One-click colour themes - recolour every thruster visual from a single colour, with alpha as overall strength. Eight named swatches, a custom picker and a reset.
- 12 ready-made Thruster Types - plus Save current as Type and JSON export/import.
- Visual states and runtime API - five states (Idle / Selected / Moving / ReturningHome / MiningReady), SetThrottle / SetBoost / SetWarp / SetDamage / SetThrustVector, and OnStateChanged events.
- No-code Configurator - a Beginner wizard and a full Advanced panel, with a fly-around Live Preview where every shape, colour and socket updates in real time.
- Build-safe binding - name-based lookup through ShipVFXLibrary uses no AssetDatabase, so the editor and a shipped player resolve looks identically.
- Optional audio module - engine loop, boost and warp cues driven by the same state machine.
Requires
- Unity 6.0 LTS or newer supported; URP is required to render effects.
- Verified fresh imports, demo playback and Windows builds on Unity 6.0 LTS and 6.4.
Fixed before launch
- Fixed import compilation errors in Unity 6.3 LTS, verified on 6000.3.16f1 with URP 17.3.0.
- Fixed script and shader import errors without URP, with guided installation and pipeline setup.
- Fixed a missing-script warning when entering Live Preview.
- Resolved texture reimport warnings.
Lifetime updates - new versions land here and in your asset library.
Couldn't find what you need?