Introduction
hi, i made this cool VFX Plugin and i want to showcase it here.
It’s like a normal vfx plugin with a module to play VFX in games and all,
except it has way more features, including a library with ~10K os assets, and add-ons.
Asset library supports Textures, Sounds, Meshes, MeshFlipbooks, and Instances (VFX, UI, etc)
Add-ons system works by adding a module as an add-on which will run on the plugin and in-game.
The main module is used in the plugin enviroment only (for plugin UI and stuff)
The module named game under it is synced to the in-game module’s add-ons folder.
![]()
e.g. MeshVFX’s game module simply .add()s an emit function that is called when playing VFX-
which looks for any MeshVFX, and uses it’s attributes to emit it in-game and with the plugin.
Current add-ons: ImpactFrames, CameraShake, ScreenEffects, and MeshVFX (none are paid)
Features
- EmitRepeat and EmitRepeatDelay attributes
- Can emit Sounds and lights [PointLight, SurfaceLight, SpotLight]
- Enable and Disable system for indefinite durations (with tween in and out)
- example: an ability that keeps a VFX (beams, sounds, etc) active while holding a button
local API = shared.vfx
ButtonDownEvent:Connect(function()
API.enable(abilityVFX) -- enables with tween-in
end)
ButtonUpOrNoStaminaEvent:Connect(function()
API.disable(abilityVFX) -- disables with tween-out
end)
-
TweenIn and TweenOut attributes for lights, beams, sounds, particles, and trails
- TweenIn happens when enabling vfx with plugin (same for TweenOut when disabling)
- It goes from TweenStart (default 0), to current properties, to TweenEnd (default 0)
- Can be used to fade in and out with any properties like size, transparency, volume, rate, ..
- Defaults for beams are [Width0,1] and for lights [Brightness, Range], for sounds [Volume]
- Pick the properties with the TweenProperties attribute like “Transparency, Size”
-
ObjectValues can be used to emit/enable anything outside the VFX (with attributes)
- For example emitting a vignette in the ui with color and time attributes in the ObjectValue
- Its like calling a function (vfx, vignette, etc) with paramaters (attributes) iykwim
-
Emitting scripts (can be delayed and repeated like normal vfx)
- Script what you want or use other people’s modules (like a rock module)
- Script must reset changes and destroy instances. plugin won’t reset anything script does
-
Random emit container: picks 1 or more of its children to emit/enable
- How to use: add the attribute EmitRandom and set it to the number of children to pick
- This can be used for things like picking a sound randomly (works for any vfx not just sounds)
-
EmitOnDisable: emits when the parent is disabled (for indefinite durations)
- How to use: simply name a vfx or container “EmitOnDisable”
- Use case example: a beam ability that enables for indefinite time and explodes when it ends
-
Normal delay, duration and count attributes but..
- Duration works with lights, and loops sounds until duration ends
- EmitDelay on a VFX container (part/attachment/..) will delay everything in it (descendants)
- (which means u can make parts of a VFX on their own then combine and delay whole parts)
- You can switch between descendants attributes mode and selected with the keybind [Y]
- Asset library (mostly for VFX but can be useful for other stuff)
- UI window can be dragged and resized
- Inserts into selected container (part/attachment/..)
- Or replaces selected VFX/Sound’s TextureId/SoundId
- Supports the new Custom flipbook layout (ex: 4x8, 64x64 flipbooks)
- If no container or VFX/Sound is selected, it inserts it in a part into workspace
- Saves as much space as possible by storing only the changes and imported assets
- Open-source assets (~10,000):
- 77+ Meshes
- 925+ Beams
- 500+ Sounds
- 39+ MeshFlipbooks
- 8,336+ Particles & others
- You can store any instance in the library, including full VFX, UI, Scripts and more!!
-
Flipbook preview (always playing) and you can change the FPS and Grid of any image
-
A keyword system for search (to categorize. like a fire texture that can be used as smoke)
-
Mass Upload: Automatically upload all selected assets (ex: upload all from a VFX, pack, game)*
-
Sliders which can change any property or attribute of all selected VFX instances at once
- Has Hue, Saturation, Lightness sliders to change colors
- A UI with a list of all properties and attributes to choose from quickly
- (u can choose brightness and fully color a VFX without touching color properties)
- Reset and apply buttons, textboxes to set exact values.
- Some special options in the list:
- Retime: perfectly slow or speed up a VFX with [Speed, Rate, Lifetime, EmitDelay.. 9 more]
- Scale: resize perfectly with [Size, Speed, Volume, Range (lights), Width0&1 (beams)]
- ScaleModel: scales the VFX along with any parts, meshes, models, and attachments of it.
- Color3: multiplies Color properties for things like making Decals glow
-
Sequence copier [Size, Squash, Color, Transparency, WidthScale]
-
Trail preview with shape options [Circle, Square, Infinity, Heart] (will add more)
-
An API that can be used in studio in command bar, and other plugins (like moon animator)
-- some api uses (theres more)
local api = shared.fx
-- Emit a VFX
api.emit(your.vfx)
-- Enable/disable a VFX
api.enable(your.vfx)
api.disable(your.vfx)
-- Shifts a Color3's hue, saturation, and lightness
api.adjustColor(Color3, hue, saturation, lightness)
-- Shifts a whole VFX's Hue, Saturation, Lightness (HSL)
api.recolor(your.vfx, hue, saturation, lighness, origins?)
api.add({ -- Adding your own functions (used by add-ons)
emit = function(vfx, attributes),
enable = function(vfx, attributes),
disable = function(vfx, attributes),
retime = function(vfx, attributes),
rescale = function(vfx, attributes),
recolor = function(vfx, attributes);
}, selector?) -- selector for :QueryDescendants()
-
Any attribute can be a NumberRange. use for example 1-10 to randomize between 1 and 10
Can be used on EmitCount, EmitDelay, EmitDuration, TweenIn/Out, EmitRepeat, EmitRepeatDelay
-
To loop a vfx (repeat forever) use -1 EmitRepeat and enable it (will loop until disabled)
-
Enable & Disable keybind is [T], Emit is [R] (can be changed with studio shortcuts)
-
Emit and Enable are safe to spam (tweens will reset, repeats will stop, etc)
Not enough features?
-
You can also add your own features with add-ons!!!1
A UI Library to make ui for your add-ons (your own sliders and properties!!1)
-
Create buttons with icon/text, make ui draggable or on the right scroll, closable popups, etc.
You can add placeholders, hover tooltips on buttons & properties, and more!! -
You can make any vfx module into an add-on and make it work with plugin and other add-ons
Emit and enable functions added will repeat, delay and everything just like normal vfx -
You can publish your add-ons so that anyone can see and use them (open ticket in discord)
All published add-ons are verified by me to be safe and have no malicious code -
You can add a
canInstallfunction that must return true for the user to be able to install- Can be combined with
.okPopup(): booleanto add license/terms that must be agreed on - Can also be used to make add-ons paid like check for Roblox inventory for your gamepass
- Can be combined with
-
Screen effects add-on: (pre-installed)
- ImpactFrames with tint color, count, contrast, saturation and range settings
- CameraShake with magnitude, roughness, fade in/out, and Falloff distance range
- CameraWeldOffset and ViewportScale to put 3D effects (particles and beams) on screen
(this vfx is open-sourced in the discord server)
-
Mesh VFX add-on:
- Start/End Format with SpecialMesh, MeshPart, Part and Union support
- Supports multiple decals, mesh flipbooks, EmitCount, and SpreadAngle
- RotSpeed, Random Rotation, Speed and Size. (and TweenParams)
- No need for enable attribute cus can be Enabled with -1 repeat with delay or random delay
-
Animation util add-on:
- Import animations from blender
- Spoof animations with their ID
- Add animation events to keyframes
- Flip animation on the x-axis (like side dash left → right)
- (will have an API to play animations for other add-ons to use)
-
Craters (advanced) add-on:
- Has multiple presets
- Has a LOT of properties
- Can do [Ring, Line, Cone] shapes
-
Lightning Beams add-on:
- Supports all part shapes
- Uses the public lightning beams module by @quasiduck
- Supports highlights to make a blackflash type effect
- By vail (@heartsank on discord, @Impermanently on roblox)
- Has presets including a Blackflash effect
-
if u have any module u want added let me know in the discord :]
- A Module to play your vfx in game (add-ons’
gamemodules are synced to it)
local vfxModule = require(game:GetService("ReplicatedStorage").vfx)
-- now shared.vfx and shared.fx are available for all scripts (must require)
-- also anything with the tag 'EnabledVFX' will be .enable()'d on require
vfxModule.emit(vfx)
vfxModule.rescale(vfx, scale)
vfxModule.retime(vfx, timeScale)
vfxModule.recolor(vfx, hue, saturation, lightness)
vfxModule.destroyAfter(vfx, time?)
-- time default is vfxModule.maxLifetime(vfx) (takes delays and durations into account)
-- there are more util functions like .tween and more can't list all here (will be in docs)
- The plugin only initializes after toggling UI the first time (to save performance when not used)
- The API is still available before initialization with installed add-ons’ game modules
(basically will work on command bar and moon even before initialized including add-ons)
- The API is still available before initialization with installed add-ons’ game modules
Notes:
- it’s not on the creator store yet (and not anytime soon)
- you can basically “enable” any emitter with -1 EmitRepeat (loop)
- there will be docs on how to use the plugin, make add-ons, and more (soon)
You can get the plugin here or in the discord
How to get the plugin
Robux:
- Join the verification place
- Click the purple button “Buy VFX Plugin”
- After buying, a code will show up, copy it and redeem in the website
Currency (paypal/card/etc):
- Go to the website (scroll to the bottom)
- Enter your Username & choose if you want a redeemable code or not
- Click the option that you want to pay with (paypal, card, venmo, etc)
How to gift to someone:
- Simply instead of redeeming the code for yourself, give it to them






















