To make the gun functional, the giver script had to inject a LocalScript or Script into the tool.
In 2021, Roblox FilteringEnabled was mandatory. This created a specific challenge for scripters: a client-side script could not simply insert a weapon into the game world for everyone to see without server-side cooperation.
The "Laser Gun Giver" script was designed to work in two specific environments:
The script must first create a Tool instance. In 2021, this was often done by generating a Model or Tool object inside the ServerStorage or Lighting service before moving it to a player's backpack.