RoRift [V2]
Why I made this module
We’ve all had it at least once. You are searching the Roblox library for a working Fortnite rift, but get tons of results that don’t even look like a rift. That’s why I’m introducing RoRift, THE module for creating Fortnite rifts in Studio. And the module which could be really useful for live events.
Functions
module.new(CFrame, type, size, color, soundId) : returns RiftObject
This function will create a rift once fired. Thepositionandorientationare determined by aCFrame. You can choose between two types of Rifts. One is a flat Rift and two is a 3D Rift that will be… uhh not flat. Then you can choose to have the Rift in a specific color, determined by aColor3, and finally you can now have the option to change the sound of the Rift when it opens, which is determined by a sound ID (rbxassetid included, not only the id or else it won’t work).
RiftObject:Appear()
This function will let the Rift created with themodule.new()function appear.
RiftObject:Close()
This function will let the Rift created with themodule.new()function close.
RiftObject:ObjectEnter()
This function is used to create an effect that appears when an object enters the Rift.
RiftObject:SetCFrame(cframe)
This function sets theCFrameof the Rift to the givenCFrame, while the Rift is already created.
RiftObject:SetColor(color)
This function sets theColor3of the Rift to the givenColor3, while the Rift is already created.
RiftObject:SetSize(size)
This function sets theSizeof the Rift to the givennumber. The maximumSizeof the Rift is 14.
RiftObject:Destroy()
This function destroys the Rift and removes it from themetatable. It is advised not to use this function while the Rift is visible.
Example Scripts
Script inside of a Part with a ProximityPrompt
local rift = require(path.to.Module) -- Change "path.to.Module" to wherever the module is located.
local prompt = script.Parent.ProximityPrompt
local RiftAppear = script.Parent.RiftPos
local debounce = true
prompt.Triggered:Connect(function()
if debounce == true then
debounce = false
-- Create a flat rift at the part called "RiftAppear" with a size of 14, the color white and the sound with the ID 12345678.
local NewRift = rift.new(RiftAppear.CFrame, "Default", 14, Color3.fromRGB(255, 255, 255), "rbxassetid://12345678")
NewRift:Appear() -- Make the Rift appear
task.wait(6) -- 6-second wait to avoid the Rift from immediately disappearing.
NewRift:Close()
task.wait(5) -- 5-second wait to avoid players from spamming rifts.
NewRift:Destroy()
debounce = true
end
end)
Showcase
Default Rift Type
3D Rift Type
Links
Marketplace Model
Place File
RoRiftV2 Test Place.rbxl (96.2 KB)
Updates
Version 1
v1.1
- Removed
:setup()function - Replaced
:Remove()with:Destroy() - Removed unnecessary
PositionandOrientationand replaced them withCFrame. - Changed
wait()totask.wait()to make it function faster
v1.2
- Module now works wherever you place it
Version 2
v2.1 (Current)
- Added different types of Rifts
- Added ability to change the size of Rifts
- New, even more satisfying shockwave particles
- Rift no longer automatically disappears
- Moved away from making flat Rifts and created 3D Rifts
module.new()function no longer instantly creates a Riftmodule.new()function now returns a RiftObject- Added
RiftObject:Appear()function - Added
RiftObject:Close()function - Added
RiftObject:ObjectEnter()function - Added
RiftObject:SetCFrame()function - Added
RiftObject:SetColor()function - Added
RiftObject:SetSize()function - Added
RiftObject:Destroy()function
- Awesome!

- It’s good
- Can be better
- It’s the worst
All feedback is appreciated, and feel free to suggest new features!
how do i fix this