Trying to change a MeshId but I keep getting "MeshContentProvider failed to process because 'could not fetch'"

So I’m trying to make a Part with a SpecialMesh appear in a viewport.
This is a part of the script that handles the mesh id:

mesh.MeshId = "rbxassetid://" .. id --right now id is 636922353 for testing purposes

This line of code is in a module script that is called from a local script.
However i keep getting this error even with different ids:

MeshContentProvider failed to process https://assetdelivery.roblox.com/v1/asset?id=636922353 because 'could not fetch'

Any ideas why?

1 Like

The api page says it’s not scriptable.

thats for a meshpart not for a special mesh

Here, there was a post already about this: My mesh id could not be fetched

You cannot change it mid game, instead, you could leave a clonable mesh you can re-use (in lighting, for example).

Okay this will need further explanation.
I’m working on a module script that reads custom html like language off a website. Right now raw pastebin. So I’m trying to implement 3D in my roblox web browser and the id can be always different and i need to load it when i load the url. So I cant pre-set an id or a mesh instance in ReplicatedStorage or somewhere else it needs to load the mesh when I load that page.

You could use insertservice to insert the mesh and then do the normal stuff.

sorry for the late response i was having lunch. i got this error:

InsertService cannot be used to load assets from the client

Is there a way to fire an event to a server script with the id, then for a server script to get the event and return back to the client the mesh?

you could use insert service to create the meshes on server and then return the id of the mesh to client or check for an already registered id

okay ill try to implement that

Ok so i added this in the module script (that is ran inside a local script):

function getMesh(id)
	script.GetMesh.RemoteEvent:FireServer(id)
	script.GetMesh.RemoteEvent.OnClientEvent:Connect(function(mesh)
		return mesh
	end)
end

and made a script that has the remote event in it:

local is = game:GetService("InsertService")

script.RemoteEvent.OnServerEvent:Connect(function(plr, id)
	script.RemoteEvent:FireClient(is:LoadAsset(id))
end)

and i get this error now:

HTTP 403 (Forbidden)

Okay so when I play it inside the client and not in the studio in the F9 window in Server instead of http 403 i get

Asset is not trusted for this place

You cannot pass an object trough, what I meant to explain was that you can pass the id retrieved from the loaded asset and register it in an array, delete the loaded assets and pass that ID back, after so just check if the id exists in the array anf in case it does return that

i’m getting HTTP 403 (Forbidden) error too, i want to know what’s happening… :frowning:

this is annoying…

1 Like