Back to SparkFXPreviewer

Documentation

v2.0.2

SparkFXPreviewer is an editor-only Unreal Engine plugin for previewing, timing, and authoring VFX, sounds, projectiles, and camera shakes against skeletal mesh animations — without entering Play Mode. Compatible with Unreal Engine 5.5, 5.6, and 5.7 (v2.0.2 is the last release supporting 5.5).

// Log Entry — Overview

Overview

FeatureDescription
Projectile PreviewVisualize Linear, Arc, and Ballistic trajectories in-editor
Rapid Fire TestingTest burst and automatic fire patterns with real-time feedback
Preset SystemSave and load complete effect setups
Anim Notify ExportExport timing directly to Animation Notifies
Sound PreviewHear audio in sync with VFX and animations
Camera Shake TrackPreview camera shakes standalone or attached to VFX/Projectile tracks
3D Transform GizmoDrag VFX spawn points, mesh prop offsets, and the main character directly in the viewport
Multi-Animation Sequence & MontageChain up to 5 animation sequences, or preview an Animation Montage directly
Additional Mesh SlotsAttach up to 4 additional skeletal mesh props, each with its own socket and animation
Main Actor TransformReposition and rotate the preview character from the SparkFX panel, synced to a viewport gizmo
Outliner Selection SyncSelecting a SparkFX gizmo in the Outliner selects the matching row in the panel, and vice versa

Who Is This For?

RoleUse Case
VFX ArtistsAuthor character, weapon, and environmental effects
Technical ArtistsSupport VFX workflows and pipelines
AnimatorsValidate visual timing and presentation
DesignersReview effect timing without Play Mode
SparkFXPreviewer focuses on visual timing and context, fast iteration without Play Mode, and trustworthy preview behavior — it does not simulate gameplay logic or modify runtime behavior.
Editor-Only Philosophy — SparkFXPreviewer is intentionally editor-only. It focuses on visual timing and context, fast iteration without Play Mode, and trustworthy preview behavior. It does not simulate gameplay logic, replace runtime systems, or modify gameplay behavior.
// Log Entry — Quick Start

Quick Start Guide

Get up and running with SparkFXPreviewer in minutes.

Chain up to 5 animation sequences on a unified virtual timeline for multi-clip previews.

1. Open the Tool

Tools → SparkFX → SparkFX Previewer

2. Set Up Your Scene

Method 1 — Place Mesh in Level: place a Skeletal Mesh Actor in your level, click Refresh in SparkFXPreviewer to detect it, then select the mesh from the dropdown.

Method 2 — Search Project Assets: click "Search project assets" to reveal a Browse Skeletal Mesh button, then search all skeletal meshes in your project (e.g. type "manny" to find character meshes).

3. Select an Animation

Choose an animation from the Animation dropdown — the timeline updates to show its length. Animation Montages are supported the same way; drag and drop a montage into the animation slot.

4. Add Your First Track

  • VFX TrackNiagara effects
  • Sound TrackAudio cues
  • Projectile TrackProjectile trajectories
  • Camera Shake TrackCamera effects

5. Preview

Press Play to preview with animation, use the timeline scrubber to adjust timing, and enable Loop for continuous playback.

Tip — With the SparkFXPreviewer panel focused, press Spacebar to instantly toggle Play/Stop — no need to click the button.

Adding a VFX Track

  1. 1
    Click Add VFX Track
  2. 2
    Assign a Niagara System from your project
  3. 3
    Set the Trigger Time on the timeline
  4. 4
    (Optional) Attach to a Bone for skeletal attachment
  5. 5
    (Optional) Add Sound — drop an audio file to play synchronized with the VFX
  6. 6
    Press Play or Spacebar to play the sound and the VFX

Quick Reference

  • Open toolTools → SparkFX → SparkFX Previewer
  • Play/PausePlay button or Space
  • Stop & resetStop button or Escape
  • Step backward / forward /
  • Jump to start / endHome / End
  • Adjust timingDrag timeline scrubber
  • Loop playbackEnable Loop checkbox
  • Add trackClick Add [Type] Track
  • Rename trackDouble-click track name; Enter commits, Escape cancels
  • Remove trackClick ✕ on the track
  • Save setupClick Save Preset
  • Export notifiesClick Export as Anim Notifies
// Log Entry — Installation

Installation Guide

Fab Installation
Watch: Fab Installation
Use the build that matches your engine version exactly — mismatched versions will fail to load or may cause editor instability.

✅ Recommended: Install via Fab Marketplace

  1. 1
    Open the Fab Marketplace in Unreal Engine
  2. 2
    Search for "SparkFXPreviewer"
  3. 3
    Click Install to add it directly to your engine
  4. 4
    Restart Unreal Engine if prompted
  5. 5
    Access via Tools → SparkFX → SparkFX Previewer

Alternative: Binary Installation

If you want to test without Fab, download the binary package for your Unreal Engine version:

SparkFXPreviewer_v2.0.2_UE5.5_Binary.zip
SparkFXPreviewer_v2.0.2_UE5.6_Binary.zip
SparkFXPreviewer_v2.0.2_UE5.7_Binary.zip

Extract the downloaded file to a temporary location, then Run Installer: open the extracted folder, run Install.bat, drag your .uproject file onto the installer window, and press Enter when prompted. The installer copies SparkFXPreviewer into your project's Plugins/ folder.

Launch: open your project in Unreal Editor — the plugin loads automatically, no compilation required. Access via Tools → SparkFX → SparkFX Previewer.

Manual Installation

  1. 1
    Copy the SparkFXPreviewer folder to YourProject/Plugins/SparkFXPreviewer/
  2. 2
    Open your project in Unreal Editor
  3. 3
    The plugin will load automatically
Important — Use the build that matches your engine version exactly. Mismatched versions will fail to load or may cause editor instability.

Verifying Installation

  1. 1
    Open Unreal Editor
  2. 2
    Navigate to Tools → SparkFX → SparkFX Previewer
  3. 3
    The SparkFXPreviewer window should open

If the menu item doesn't appear, check Edit → Plugins to ensure the plugin is enabled, then restart the editor after enabling.

// Log Entry — Core Features

Core Features

Drag VFX spawn points, mesh prop offsets, and the main character directly in the viewport with the standard UE gizmo — positions sync live and restore on preset load.

VFX Track System

Preview Niagara effects directly in the editor viewport with full control over timing and attachment.

  • Niagara System SupportPreview any Niagara system from your project
  • Skeletal AttachmentAttach effects to specific bones
  • Timeline ControlPrecise timing adjustment
  • One-Shot & LoopingTest both effect types
  • 3D Transform GizmoDrag the VFX spawn point in-viewport; syncs live and restores on preset load
  • Live Parameter EditingTweak exposed parameters during playback, save as new or write back
  • Duplicate & ReorderOne-click duplicate, reorder with up/down arrows
  • Inline RenameDouble-click a track name; Enter commits, Escape cancels

Sound Preview

  • Sound Cues & WavesPreview any audio asset
  • Timing SynchronizationAlign audio with VFX triggers
  • Projectile Impact SoundsAttach a sound to play at the moment of impact
  • VFX Track SoundsAdd a sound directly to any VFX track
  • Configurable Fade-OutIndependent fade-out duration for VFX and audio

Camera Shake Track

  • Standalone TrackFires at a configured time offset, independent of other tracks
  • Inline on VFX/ProjectileAttach a shake so it fires alongside the effect
  • AnimNotify ExportExports alongside all other track types

Multi-Animation Sequence & Montage Support

  • Chain Up to 5 SequencesOn a unified virtual timeline
  • Timeline Boundary MarkersDashed lines show where each sequence begins/ends
  • Reorderable SlotsMove sequences up/down in the list
  • Animation Montage SupportFull playback, scrub, loop, and root motion support
  • Notify ExportWorks for both Animation Sequences and Montages

Additional Mesh Slots

  • Up to 4 Mesh PropsAttached to the preview scene
  • Per-Slot Socket AttachmentEach prop attaches independently to its own socket
  • Independent AnimationEach mesh prop can play its own animation
  • Transform ControlsLocation, rotation, and scale per prop with a dedicated gizmo

Main Actor Transform Controls

  • SparkFX Panel ControlsPosition and rotation spinboxes live in the Inspector
  • Viewport GizmoAppears whenever a skeletal mesh is loaded, stays in sync
  • Preset PersistencePosition and rotation are saved to your preset

Outliner ↔ SparkFX Selection Sync

  • Outliner → SparkFXSelecting a gizmo in the Outliner selects the matching panel row
  • SparkFX → OutlinerClicking a row highlights the gizmo in the viewport/Outliner
  • All Gizmo TypesVFX track, mesh slot, and main character gizmos
// Log Entry — Projectile System

Projectile Preview System

Projectile Preview System
Watch: Projectile Preview System

Visualize projectile trajectories directly in the editor viewport with three trajectory types.

Projectile preview is for visual iteration, not physics simulation — trajectories are approximations to help with timing and feel.

Trajectory Types

TypeBest ForBehavior
LinearLaser beams, bullets, direct-fire weaponsStraight-line path, adjustable speed
ArcGrenades, arrows, lobbed weaponsCurved trajectory, configurable arc height
BallisticRealistic drop and impact timingGravity-affected, adjustable initial velocity

Rapid Fire Testing

  • Configurable Fire RateSet rounds per second
  • Burst CountDefine shots per burst
  • Muzzle FlashPreview muzzle VFX on each shot
  • Impact VFXSee impact effects for every projectile
  • Audio SyncTest sound timing with rapid fire

Setup Workflow

  1. 1
    Click Add Projectile Track
  2. 2
    Choose Projectile Type (Linear, Arc, or Ballistic)
  3. 3
    Set Spawn and Target locations
  4. 4
    Assign Muzzle Flash and Impact VFX
  5. 5
    Enable Rapid Fire if testing burst patterns
  6. 6
    Press Play to visualize trajectories
Important — Projectile preview is for visual iteration, not physics simulation. Trajectories are approximations to help with timing and feel; runtime behavior depends on your game's projectile system.
// Log Entry — Presets

Preset System

Save and load complete effect setups for repeatable iteration and team collaboration.

Preset System Tutorial
Watch: Preset System Tutorial
Presets capture every track, timing value, and gizmo position — load one and your entire setup is restored instantly.

What Presets Store

  • All Track ConfigurationsVFX, Sound, Projectile, and Camera Shake tracks
  • Timing DataExact trigger times for each track
  • Asset ReferencesLinks to Niagara systems, sounds, etc.
  • Attachment SettingsBone attachments and socket data
  • Projectile SettingsTrajectory type, spawn/target locations
  • Gizmo Positions3D spawn point positions and names for each VFX gizmo
  • Additional Mesh SlotsMesh, socket, animation, and transform data for up to 4 props
  • Main Actor TransformPreview character position and rotation
  • Multi-Sequence SetupAll animation slots and order, with backward compatibility

Saving a Preset

  1. 1
    Set up your tracks and timing as desired
  2. 2
    Click Save Preset
  3. 3
    Enter a descriptive name (e.g., "SwordSlash_v2_FastTiming")
  4. 4
    The preset saves to your project

Loading a Preset

  1. 1
    Click Load Preset
  2. 2
    Select your saved preset from the list
  3. 3
    All tracks and settings are restored instantly

Best Practices

  • Use Descriptive NamesInclude weapon/character name, version, and key attributes
  • Save at MilestonesCreate presets during iteration to preserve working states
  • Version Your PresetsAppend v1, v2, etc.
  • Share with TeamPresets can be checked into version control
  • Compare ApproachesLoad different presets to quickly compare timing
// Log Entry — Playback Speed

Playback Speed Controls

Control playback speed without changing animation timing — perfect for iterating quickly or inspecting VFX details frame-by-frame.

Watch: Playback Speed Tutorial (1:15–2:05)
Playback speed multiplies the time delta for animation, VFX, and projectiles alike — without ever touching the original animation asset.

Available Speed Options

SpeedUse Case
0.05xUltra-slow motion for precise VFX frame inspection
0.1xSlow motion for timing analysis
0.25xQuarter speed for detailed review
0.5xHalf speed for careful observation
1.0xNormal speed (default)
2.0xDouble speed for quick iteration

How It Works

Playback speed multiplies the time delta for all systems:

  • Animation PlaybackSkeletal mesh plays faster or slower
  • VFX SystemsNiagara particles update at adjusted speed (via CustomTimeDilation)
  • ProjectilesTrajectory timing scales proportionally
  • SoundAudio plays at normal speed (timing preserved, not pitch-shifted)

Key Features

  • Doesn't Change AnimationOriginal animation asset is never modified
  • Real-Time SyncAll active VFX and projectiles adjust immediately
  • Persists Across SessionsSpeed setting remains after Stop/Play
  • Works During ScrubbingSpeed affects scrub rate on timeline
Pro Tip — Use 0.05x speed to inspect individual particle spawn frames and verify VFX timing precision. Use 2.0x speed to quickly validate loop behavior across multiple cycles.
// Log Entry — Anim Notify Export

Anim Notify Export

Transfer your timing work directly into production by exporting tracks as Animation Notifies.

Export writes exact trigger times and attachment settings straight onto the animation — no manual re-timing in Persona.

What Gets Exported

  • VFX TracksExported as PlayNiagaraEffect notifies
  • Sound TracksExported as PlaySound notifies
  • Timing PreservedExact trigger times maintained
  • Attachment SettingsBone/socket attachments preserved

Export Workflow

  1. 1
    Set up your VFX and Sound tracks with desired timing
  2. 2
    Select the target Animation Asset
  3. 3
    Click Export to Anim Notifies
  4. 4
    Notifies are created on the animation with your timing
Editor Refresh Behavior — When exporting while an animation sequence is already open in the Animation Editor (Persona), notify markers may not appear immediately. This is normal — the notifies are written correctly. Close and reopen the animation to see them.

Montage Notify Export

Export as Notifies works for both Animation Sequences and Animation Montages. For Montages, notifies are written at the montage level (not inside individual slots) — this is standard UE montage behavior.

Project Setup Requirements

Exported AnimNotifies may require additional project-side setup:

  • Notify ClassesEnsure your project has the necessary notify classes
  • Niagara AccessVerify Niagara systems are accessible from the animation
  • Sound AssetsCheck that sound assets are properly configured
// Log Entry — Limitations

Known Limitations

SparkFXPreviewer is designed to be fast, deterministic, and editor-safe. The following limitations are intentional design decisions that keep the tool focused and reliable.

These limitations are intentional — SparkFXPreviewer shows what exists, never simulates or invents data, and stays editor-safe with zero runtime impact.

Scope Limitations

LimitationReason
Editor-onlyNo runtime gameplay integration
No physics simulationPhysics behavior varies at runtime
No damage/collisionGameplay logic belongs in game systems
No AI targetingNo guidance systems or tracking behavior

Projectile Behavior

Projectile types (Linear, Arc, Ballistic) provide visual approximation only. Designed for: ✅ timing iteration, ✅ trajectory feel, ✅ impact readability. Not intended to match: ❌ runtime gameplay logic, ❌ physics accuracy.

Projectiles do not track targets that move mid-flight — the target position is captured at fire time.

Camera Shake

Camera shake preview provides timing reference only. The preview may differ from runtime behavior due to different camera configurations, player camera vs. editor camera, and runtime camera modifiers. Use it for timing alignment, not exact visual matching.

Inline camera shake on VFX and Projectile tracks does not expose Play Space control — use a dedicated Camera Shake track for Play Space (Camera Local / World / User Defined) control.

Gizmo Position vs. Details Panel Location

The SparkFX Position spinboxes (Inspector panel) and the Location field in UE's native Details panel show different numbers for the same gizmo. This is correct and expected — they measure different things: SparkFX Position is the offset relative to the preview character's world position; Details panel Location is the gizmo actor's absolute world position in the level.

Example: if your character is at world X=257 and you set SparkFX Position X to 242, the gizmo sits at world X=499 — and the Details panel shows 499. Both values are correct, and both fields stay fully synced in both directions. This is not a bug.

Timeline Behavior

Backward scrubbing (dragging the timeline backward) does not retrigger one-shot effects. This prevents effect spam during iteration and matches expected timeline behavior — use Play to trigger effects normally.

Audio Behavior

  • Cleanup GuaranteeAll audio is centrally tracked and cleaned up on Stop/Escape, Reset, Clear, track removal, preset load, and window close
  • Keyboard Shortcuts Require FocusSpace, Escape, Arrows, Home/End need the SparkFXPreviewer window focused
  • Reset Before ReplayAfter a non-looping animation ends, Play again may need a Reset first

FAQ

Q: Why don't newly exported Anim Notifies appear immediately?
A: When exporting while the animation is already open, the Animation Editor may need a refresh. The notifies are saved correctly — close and reopen the animation to see them.

Q: Why doesn't the projectile hit exactly where I expect?
A: Projectile preview is for visual iteration, not physics simulation. Runtime behavior depends on your game's projectile system.

Q: Does this work in packaged games?
A: No. SparkFXPreviewer is editor-only by design — it has no runtime component and is not included in packaged builds.

Design Philosophy

These limitations exist because SparkFXPreviewer is designed to:

  1. 1
    Show what exists — not simulate or invent data
  2. 2
    Be deterministic — same input produces same output
  3. 3
    Stay editor-safe — no impact on runtime behavior
  4. 4
    Enable fast iteration — focus on timing and visual context
// Log Entry — Versioning

Versioning & Engine Support

Supported Engine Versions

Engine VersionStatusDownload
Unreal Engine 5.5⚠️ Last SupportedSparkFXPreviewer_v2.0.2_UE5.5_Binary.zip
Unreal Engine 5.6✅ SupportedSparkFXPreviewer_v2.0.2_UE5.6_Binary.zip
Unreal Engine 5.7✅ SupportedSparkFXPreviewer_v2.0.2_UE5.7_Binary.zip
Important — Use the build that matches your engine version exactly. Mismatched versions will fail to load or may cause editor instability.
UE 5.5 End of Life — v2.0.2 is the last release supporting Unreal Engine 5.5. The next release will support UE 5.6 / 5.7 / 5.8 only.
v2.0.2 is a packaging and compliance release only — no feature or behavior changes since v2.0.1.

Current Version: SparkFXPreviewer v2.0.2

What's New in v2.0.2 — a packaging and compliance release, no feature or behavior changes.

  • Fixed Binary Distribution ZIPsPackages now include Source/, Config/, Docs/, Resources/, README.md, and Install.bat
  • Copyright HeadersUpdated to SparkFXLab across all source files

What's New in v2.0.1

  • Main Actor Transform ControlsReposition and rotate the preview character with synced gizmo and preset persistence
  • Outliner ↔ SparkFX Selection SyncFor VFX, mesh slot, and main character gizmos
  • Multi-Animation Sequence, up to 5Reorderable slots, timeline boundary markers
  • Animation Montage SupportFull playback, scrub, loop, root motion, preset, and notify export
  • Additional Mesh SlotsUp to 4 props, each with socket, animation, and transform controls
  • Inline Track Rename, Duplicate & ReorderRename, duplicate, and reorder tracks in place
  • 3D Transform GizmoVFX spawn points, mesh prop offsets, and main character
  • Live Niagara Parameter EditingTweak parameters during playback
  • Camera Shake TrackFull AnimNotify export support
  • Complete UI Redesign (V2)Two-panel layout, live inspector, per-row color-coded timeline

Also included: tooltips across all 46 inspector fields, collapsible Animation/Tracks sections, a dedicated Add Track toolbar row, and dozens of smaller polish fixes since v1.8.0.

Version History

VersionHighlights
v2.0.2Packaging/compliance fix — ZIPs now include Source/, Config/, Docs/, Resources/, README, and Install.bat; copyright headers updated. Last release supporting UE 5.5.
v2.0.1Main Actor Transform, Outliner selection sync, gizmo/Details-panel fix, sequence limit raised to 5, Additional Mesh Slots, inline track rename, tooltips on all inspector fields
v2.0.0Complete V2 UI redesign — two-panel layout, per-row timeline, live inspector editing for all track types
v1.9.2Full Animation Montage support (playback, scrub, loop, root motion, presets, notify export)
v1.9.0 – v1.9.1Multi-Animation Sequence chaining, stability and sync fixes
v1.8.0 – v1.8.13D Transform Gizmo, Live Niagara Parameter Editing, Camera Shake Track, Duplicate/Reorder tracks

What's Included

  • VFX Track SystemWith Niagara support
  • Projectile PreviewLinear, Arc, Ballistic
  • Rapid Fire Testing ModeBurst and automatic fire patterns
  • Sound Preview SystemSynced audio playback
  • Camera Shake PreviewStandalone or inline
  • Preset Save/Load SystemRepeatable, shareable setups
  • Export to Anim NotifiesDirect production hand-off
  • Debug Visualization ToolsTiming and trajectory overlays
  • 3D Transform GizmoVFX spawn points, mesh slots, main character
  • Live Niagara Parameter EditingTweak during playback
  • Multi-Sequence & MontageUp to 5 sequences, full Montage support
  • Additional Mesh SlotsUp to 4 props
  • Main Actor Transform ControlsViewport gizmo and preset persistence
  • Outliner ↔ SparkFX SyncBoth directions
  • Duplicate & Reorder TracksVFX and Projectile tracks
  • Inline Track RenameDouble-click to rename

Development Focus

PriorityFocus Area
1Stability — reliable, crash-free operation
2Visual Clarity — clear, readable preview output
3Artist Workflows — fast iteration without Play Mode
4Engine Compatibility — support for current UE versions

Compatibility Notes

Binary Distribution — distributed as pre-compiled binaries: no source compilation required, faster installation, requires exact engine version match.

Plugin Dependencies — requires Niagara (for VFX preview) and core engine modules, typically enabled by default. No third-party plugin dependencies.

Created by Martin Romero. Feedback from VFX artists, technical artists, and designers is welcome.