What should happen: player touches script parent, "Fire" Event fires and Gui enables. Yes, FE is off
local Fire = game.ServerStorage:FindFirstChild("Fire")
script.Parent.Touched:Connect(function(hit)
local Player = game.Players:GetPlayerFromCharacter(hit.Parent) -- Returns the Player associated with the given character, or nil if the character is not controlled by a player.
if Player then
print(Player.Name)
local playercharacter = hit.Parent.Name
local player = game.Players:FindFirstChild(playercharacter)
local gui = player.PlayerGui.GetEssence
Fire:FireServer()
gui.Enabled = true
end
end)

4 comments
Try putting the RemoteEvent in ReplicatedStorage so both the client and the server have access to it.
Nothing changed
Client's can't see the contens of ServerStorage
i changed it to replicated it isnt working tho