A simple yet powerful 3D Particle System for Godot 4.3+. UniParticles3D provides an intuitive, modular approach to creating particle effects with a familiar interface inspired by Unity's particle system.
UniParticles3D.mov
UniParticles3D uses Godot's RenderingServer multimesh system for efficient rendering while keeping particle logic on the CPU. While not as performant as Godot's GPU-based particle system, it offers:
- Easier and quicker setup
- More intuitive controls
- Visual gizmos for shape editing
- Familiar workflow for Unity developers
- Greater control over individual particles
Perfect for when you just want some simple effects with a quick setup.
- Emission Control: ConfigureUniParticles3Dmov.webm burst, distance-based and continuous emission with customizable rates and intervals
- Shape-based Emission: Multiple emission shapes with detailed controls
- Cone (with base/volume emission)
- Sphere
- Hemisphere
- Box
- Circle
- Edge
The particle system is built with a modular approach, allowing you to enable/disable different features:
- Control the main settings, duration, starting lifetime, speed, size, gravity and rotation.
- Different options allow for setting a custom number, random between two constants or use a curve for finer control.
- Choose whether to use world space or local space for the simulation.

- Control the maximum amount of particles allowed at any one time
- Emit continuously over time and or over distance
- Configure bursts of particles for fine-tuned control.

- Configurable emission shapes with visual gizmos
- Shape-specific properties (radius, angle, length)
- Arc control for circular shapes
- Thickness control for hollow shapes

- Control particle size over lifetime
- Separate width and height controls
- Curve-based animation

- Initial velocity controls
- Velocity over lifetime
- World/local space velocity
- Position and rotation offset controls

- Rotation over lifetime (Angle of the Texture)
- Orbit controls (Orbit around the node's center)

- Color over lifetime using gradient
- Hue variation
- Alpha control

- Sprite sheet support
- Multiple animation modes
- Frame control over lifetime
- Random starting frame option

- Billboard modes
- Velocity-based stretching
- Custom mesh support
- Multiple blend modes
- Material override options

- Interactive Inspector: Organized, collapsible sections for each module
- Live Preview: Real-time preview of particle effects
- Visual Gizmos: Shape visualization in the editor
- Playback Controls: Play, pause, restart controls in editor
- Uses RenderingServer's multimesh system for efficient rendering
- CPU-based particle logic for greater control and flexibility
- Custom shader support for various blend modes
- Editor gizmos for visual shape editing
- Best suited for effects with moderate particle counts
- CPU-based updates mean performance scales with particle count
- More memory-efficient than storing individual nodes
- Trade-off between ease of use and maximum performance
- Download or clone this repository (Or download it directly from the Asset Library once its there)
- Copy the
addons/UniParticles3D
folder into your Godot project'saddons
folder - Enable the plugin in Project Settings -> Plugins
- Add a UniParticles3D node to your scene
- Add a UniParticles3D node to your scene
- Configure the basic emission settings:
- Emission rate
- Particle lifetime
- Initial speed
- Choose an emission shape and configure its properties
- Enable desired modules (size, color, rotation, etc.)
- Configure module-specific properties
Create complex emission patterns using bursts:
- Multiple burst points
- Cycle control
- Probability settings
- Random count ranges
Fine-tune emission shapes with:
- Arc control for circular shapes
- Radius thickness for hollow shapes
- Direction controls
- Position/rotation offset
Multiple ways to animate particles:
- Curve-based animation for size, velocity, and rotation
- Color gradients
- Texture sheet animation
- Orbital movement
- Godot 4.3 or higher
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.