Creating Particle Systems and Magic VFX for Games
We develop magical effects for games—from fireballs to portals. The difference between "acceptable" and "excellent" comes down to tool understanding: VFX Graph on GPU delivers millions of particles, force simulation, and collision; Particle System (Shuriken) is CPU-based, easier to set up, and more reliable on mobile. Choosing the right tool is the first architectural decision. In our practice, wrong choices have caused a 20% FPS drop on mid-range devices. Let's explore how to avoid such mistakes.
When VFX Graph Is Justified and When Particle System Is Better
VFX Graph is mandatory when you need more than 10,000 simultaneous particles, GPU physics (collision with SDF, vector field forces), or smooth animation from a sprite sheet with subframe interpolation. For fireballs with thousands of sparks or portals with turbulent particle flow—use VFX Graph.
Particle System suffices for mobile platforms (VFX Graph requires compute shader support, which not all mobile GPUs have), low particle counts (a few hundred), or simple integration with Animator via ParticleSystem.Play() in an animation event.
Mixing both is standard. A typical spell architecture: VFX Graph for the main effect (fire stream, spark cloud), Particle System for secondary details (smoke, small glowing dots around it), and a custom shader on a mesh for the aura and distortion.
Why a Layered Structure Is Key to Realistic Magic Effects
A convincing magic effect consists of multiple visual layers, each solving a specific task:
Core – the effect's core.
Dense, bright center. Usually an emissive shader mesh or a billboard sprite with additive blending. High opacity, minimal movement. It gives the viewer a focal point.
Mid – main volume.
The bulk of particles—fire, energy, plasma. This is what most people consider "the effect itself." Here we use VFX Graph with Turbulence Force, Vortex Force, or custom Vector Field. Particles use a Lit shader to receive lighting from the effect itself (via Point Light Output node in VFX Graph).
Edge – fringes and trailing.
Small particles moving away from the main volume. Alpha fade to zero over lifetime. Additive blending—they "glow" over everything else.
Secondary – details.
Sparks, bubbles, runic symbols, leaves. They create a sense of complexity and uniqueness. Often a separate Particle System with low emission rate.
Distortion – space bending.
Full-screen distortion mask around the effect via Distortion Renderer Feature in URP or built-in Distortion pass in HDRP. It signals to the brain: "something unusual is happening with space here."
Point Light Output and Dynamic Lighting from Effects
VFX Graph in Unity (LTS version) includes a Point Light Output block that lets particles emit light. This changes everything: the environment around the spell lights up in real-time, shadows jump, walls flicker.
Light Output configuration: Intensity should be moderate (0.5–2.0 for most effects); otherwise, bloom will burn out everything. Range – from 1 to 5 units. The number of active light instances is limited by the URP Pipeline Asset setting (Maximum Additional Lights per Object). Exceeding the limit silently ignores extra lights without warning.
To save resources: real Point Light is needed only for the brightest particles closest to the camera. The rest emulate light via emissive shader + Bloom. In VFX Graph, this is done with Set Active on Light Output conditioned by Lifetime or Distance To Camera.
Fireball Spell: A Concrete Example
Project: action RPG, Unity LTS, URP. Task: fireball—a projectile flying from the hand to the target, exploding on impact.
Structure: two VFX Graph assets (travel phase and explosion phase) + two Particle Systems (trailing sparks and smoke) + a custom shader on a sphere mesh for the core glow.
Travel phase VFX Graph: Sphere Spawner with radius = 0.2, Turbulence Force with low intensity, color gradient over lifetime (yellow → orange → dark red), Size over Lifetime – decreasing toward the end of particle life. Particle speed – opposite to the fireball's direction (trail drags behind).
Explosion phase: Burst emit 2000 particles in one frame, Sphere initial velocity with high radial factor, Collision with scene SDF – particles bounce off surfaces. Point Light Output with intensity 5.0 for the first 0.3 seconds, then Lerp to 0. Screen-space shockwave through a custom distortion pass, activated via Signal from VFX Graph through C# event binding.
| Effect Type | Timeline |
|---|---|
| Simple spell (1–2 layers, no dynamic light) | 2–3 days |
| Full magic effect (4–5 layers, light) | 5–8 days |
| Spell system (5–10 unique VFX) | 2–4 weeks |
| Explosion or ambient VFX for environment | 3–6 days |
What's Included in the Work
- VFX source files (Graph/System) with comments
- Custom shaders (if required)
- Configuration of lifetime, emission, colors
- Optimization for the target platform (mobile/PC/console)
- Documentation for customization
- Integration into the project (Unity Package)
- Performance guarantee (FPS budget)
Why Choose Us
Our team has extensive experience in game development. We have delivered 40+ VFX systems for games across genres—from mobile casual to PC/RPG. We use an up-to-date stack: Unity VFX Graph, URP/HDRP, custom shaders. We'll assess your project in one day—contact us to discuss details. Order custom VFX development and receive a ready-to-integrate result with support.





