Changing meshId through a script. (MeshContentProvider failed to process Mesh because 'could not fetch' )

error
MeshContent**Provider failed to process Mesh because 'could not fetch

script

http://www.roblox.com/asset/?id=1031410
http://www.roblox.com/asset/?id=1031410
Vector3.new(0, -0.45, 0))

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("HatsId")
local function onCreatePart(plr, value, texture, position)
    plr.Character:WaitForChild("Tophat"):WaitForChild("Handle"):WaitForChild("Mesh").MeshId = value
    plr.Character:WaitForChild("Tophat"):WaitForChild("Handle"):WaitForChild("Mesh").TextureId = texture
    plr.Character:WaitForChild("Tophat").AttachmentPos = position
end

local remoteEvent = ReplicatedStorage:WaitForChild("HatsId")
remoteEvent.OnServerEvent:Connect(onCreatePart) 

local script:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("HatsId")
local function onCreatePart(plr, value, texture, position)
    plr.Character:WaitForChild("Tophat"):WaitForChild("Handle"):WaitForChild("Mesh").MeshId = value
    plr.Character:WaitForChild("Tophat"):WaitForChild("Handle"):WaitForChild("Mesh").TextureId = texture
    plr.Character:WaitForChild("Tophat").AttachmentPos = position
end

local remoteEvent = ReplicatedStorage:WaitForChild("HatsId")
remoteEvent.OnServerEvent:Connect(onCreatePart) 

im trying to make a gui that changes a mesh when a player presses an apply button. the texture, meshid, and position of mesh are requested by the user which is filled in the a textbox which then can edit.

“rbxassetid://1031410”

Try to use this for the “MeshId” property instead.