HTTP 403 (Forbidden) when using InsertService:LoadAsset()

  1. What do you want to achieve?

I am trying to retrieve a module script by asset Id using InsertService

  1. What is the issue?

I get this error: HTTP 403 (Forbidden)

  1. What solutions have you tried so far?

I cannot find any solutions in the Developer Hub that pertains to using InsertService to get a module. Those other errors are HTTP 0 and HTTP 500.

The module Ids are from my main account. I am using my sister’s account to test to see if they can be required by accounts other than the creator. The require(moduleId) works, however, game:GetService("InsertService"):LoadAsset(moduleId) does not.

Any help is appreciated. Thank you.

2 Likes

Forbidden means you’re not allowed to insert the asset. LoadAsset can only be used for assets that you own or assets that the Roblox account has created.

  • For personal games, you must explicitly own the asset you’re trying to load (it’s in your inventory and can be inserted via the Toolbox window).

  • For group games, the model must be uploaded to the group as a model and can only be used in group games, not your profile.

As your module is uploaded to your account and you’re trying to insert it into a place owned by another account, the asset is forbidden to be inserted by the other account because it does not own the module. Put your module on sale, have the other account take the model and then try again.

9 Likes

It works!! Thank you :relaxed:

I am making a game that let’s people import and sell their assets in game. How would I let them import their own assets if my group doesn’t own it?

1 Like

You don’t.

Consider checking back again when the current audio permissions system is applied to other development assets. When developers and groups are able to grant permissions to an experience to use an asset, it’s likely LoadAsset will be changed to respect these permissions rather than rely strictly on asset ownership. If it doesn’t, then you can write a feature request regarding this.

2 Likes