The runtime module
Everything you author in SineVFX lives on the instances in your place. To make those effects play in your running game, SineVFX generates a runtime module and plants it into your place. Your game code then calls a tiny API and the module reproduces the effect for real.
Planting the module
- Open the Module entry on the SineVFX menu.
- Plant the module. SineVFX writes it to
ReplicatedStorage.SineVFX.
That's it - the module is self-contained. Ship your place and the effects go with it.
Re-plant after edits
The module is a snapshot of your effect logic at plant time. Whenever you change effects and want the shipped copy to match, re-plant it. If in-game playback ever looks out of date, a re-plant is the fix.
What gets planted
The generated module bundles SineVFX's particle/ribbon simulation and the Camera Effect driver, plus a small public surface:
local VFX = require(game.ReplicatedStorage.SineVFX)exposing VFX.emit, VFX.enable, and VFX.disable. See the full Runtime API.
Client vs. server
Effects render per-client. Call the API from a LocalScript (or a client-side module), not from the server. If you call it from a server context, SineVFX warns you - the effect won't render for players because rendering is a client concern. To play an effect for everyone, fire it on each client (e.g. via a RemoteEvent your server broadcasts).
Where to call it from
A typical setup:
- Author and preview effects in Studio.
- Plant the module.
- From a LocalScript,
requirethe module and callVFX.emit(effectInstance)when the effect should play (on a hit, a cast, a pickup, etc.).
Continue to the Runtime API for the exact functions and arguments.
