ArrowBeams, simple solution to creating objective arrows

ArrowBeams is an open-source Module I’ve created which simplifies the process of creating Beams that point the players to their objectives.

This Module utilizes Roblox’s Beams.

Use example:

local ArrowBeams = require(script:WaitForChild("ArrowBeams"))
local Beam = ArrowBeams.new(Character.HumanoidRootPart) -- You can provide a second argument ArrowBeams.new(Character.HumanoidRootPart, {Segments = 15}) to set your own properties. 

Beam:setTarget(Vector3.new(50,10,0))
Beam:Enable()

Video example:

Place File with the example:
ExampleFile.rbxl (55.5 KB)

GitHub repro:

Documentation:

--[[
local Beam = arrowBeams.new(parent, properties)
This function creates a beam with the given arguments, if no parent is given the beam is parented to Terrain, if no properties are sent the beam gets the default properties.

Beam:setTarget(target)
The target argument can be a BasePart or a Vector3, if it is a Vector3 the Attachment will be parented to Terrain and given the right position in the world.

Beam:setAttachment0(target)
Sets the Attachment0 position to the target, it can be a Vector3 or a BasePart.

Beam:setAttachment1(target)
Sets the Attachment1 position to the target, it can be a Vector3 or a BasePart.

Beam:setTexture(textureID)
Sets the texture of the beam to the provided ID.

Beam:setParent(newParent)
Parents the beam to the instance provided.

Beam:Enable()
Enables the beam.

Beam:Disable()
Disables the beam.

Beam:resetDefault()
Resets the beam properties to the default values.

Beam:Destroy()
Destroys the beam completely.
]]

The documentation of the Module is also written inside the ModuleScript.

9 Likes