# This file is automatically generated. Please don't edit it manually. # To submit a bug report on the content, see # https://devforum.roblox.com/c/bug-reports/documentation-issues/72 name: InsertService type: class memory_category: Instances summary: | Used to insert assets from the Roblox website. description: | InsertService is used to insert assets from the Roblox website, typically the `Class.InsertService:LoadAsset()|LoadAsset` function. To load an asset, it must be accessible by the creator of the experience loading it, which can be either a user or group. Should an experience be uploaded by a different creator, the asset data would not be accessible. See the `Class.InsertService:LoadAsset()|LoadAsset()` method for more details on this security check. Note that you should **not** use this service for loading API keys or other secrets. Use `Class.HttpService:GetSecret()` instead. #### See Also - `Class.AssetService`, which can provide information about assets you might want to load using InsertService code_samples: [] inherits: - Instance descendants: [] tags: - NotCreatable - Service deprecation_message: '' properties: - name: InsertService.AllowClientInsertModels summary: '' description: '' code_samples: [] type: boolean tags: - NotScriptable deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Behavior serialization: can_load: true can_save: true capabilities: [] - name: InsertService.AllowInsertFreeModels summary: | Indicates whether ''Free Models'' can be inserted into the game. description: | The AllowInsertFreeModels property toggles whether ''Free Models'' can be inserted into the game, regardless of whether the place owner owns the asset. code_samples: [] type: boolean tags: - NotReplicated - NotBrowsable - Deprecated deprecation_message: | This item was never released. Do not use it in new work. security: read: None write: None thread_safety: ReadSafe category: Behavior serialization: can_load: true can_save: true capabilities: [] methods: - name: InsertService:ApproveAssetId summary: '' description: '' code_samples: [] parameters: - name: assetId type: int64 default: summary: '' returns: - type: () summary: '' tags: - Deprecated deprecation_message: | This item is deprecated. Do not use it for new work. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:ApproveAssetVersionId summary: '' description: '' code_samples: [] parameters: - name: assetVersionId type: int64 default: summary: '' returns: - type: () summary: '' tags: - Deprecated deprecation_message: | This item is deprecated. Do not use it for new work. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:CreateMeshPartAsync summary: | Creates a new `Class.MeshPart` with specified fidelity values. description: | Creates a new `Class.MeshPart` with specified `Class.MeshPart.CollisionFidelity|CollisionFidelity` and `Class.MeshPart.RenderFidelity|RenderFidelity`. Because `Class.MeshPart.MeshId` is read only, this is the way to create a `Class.MeshPart` through scripts without having to clone an existing one. It throws errors if creation fails. code_samples: [] parameters: - name: meshId type: ContentId default: summary: | Mesh asset ID. - name: collisionFidelity type: CollisionFidelity default: summary: | Set `Class.MeshPart.CollisionFidelity`. - name: renderFidelity type: RenderFidelity default: summary: | Set `Class.MeshPart.RenderFidelity`. returns: - type: MeshPart summary: | New `Class.MeshPart` instance. tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Basic - name: InsertService:GetBaseCategories summary: '' description: '' code_samples: [] parameters: [] returns: - type: Array summary: '' tags: - Yields - Deprecated deprecation_message: | This item is deprecated. Do not use it for new work. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:GetBaseSets summary: | Returns an array of dictionaries, containing information about various Roblox approved sets. description: | Returns an array of dictionaries, containing information about various Roblox approved sets. code_samples: [] parameters: [] returns: - type: Array summary: '' tags: - Yields - Deprecated deprecation_message: | [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:GetCollection summary: | Returns the most recently uploaded models in the specified category. description: | Returns the most recently uploaded models in the specified category. code_samples: - InsertService-GetCollection1 parameters: - name: categoryId type: int64 default: summary: '' returns: - type: Array summary: '' tags: - Yields - Deprecated deprecation_message: | [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:GetFreeDecalsAsync summary: | Retrieves a list of free Decals from the Catalog. description: | The GetFreeDecalsAsync function retrieves a list of free `Class.Decal|Decals` from the Catalog. The return type for this method is very odd, as it returns a single table wrapped in a table. The best way to explain it is to show a visual of the array returned: ```lua [1] = { CurrentStartIndex = 1, -- This can vary depending on the page you input. TotalCount = 21, -- Always 21. Results = { -- All parameters here are pseudo. They can vary depending on the asset. [1] = { Name = "Asset Name", AssetId = 0000000, AssetVersionId = 0000000, CreatorName = "Roblox", }, -- [2], [3], and so on... up to [21] }, } ``` An example for iterating over this list has been provided at the bottom of this page. Additionally, if you want to insert `Class.Model|Models` instead, you can use the `Class.InsertService:GetFreeModelsAsync()` function. _Note:_ The page argument starts at 0. So Page 1 = 0, Page 2 = 1, etc. code_samples: - InsertService-GetFreeDecals1 parameters: - name: searchText type: string default: summary: | String used to search for free decals in the Catalog. - name: pageNum type: int default: summary: | The page number in the Catalog to return. returns: - type: Array summary: | A single table (of returned free decals) wrapped in a table. tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - AssetRead - name: InsertService:GetFreeDecals summary: | Retrieves a list of free Decals from the Catalog. description: '' code_samples: - InsertService-GetFreeDecals1 parameters: - name: searchText type: string default: summary: | String used to search for free decals in the Catalog. - name: pageNum type: int default: summary: | The page number in the Catalog to return. returns: - type: Array summary: | A single table (of returned free decals) wrapped in a table. tags: - Yields - Deprecated deprecation_message: '' security: None thread_safety: Unsafe capabilities: - AssetRead - name: InsertService:GetFreeModelsAsync summary: | Retrieves a list of Free Models from the Catalog. description: | The GetFreeModelsAsync function retrieves a list of Free `Class.Model|Models` from the Catalog. The return type for this method is very odd, as it returns a single table wrapped in a table. The best way to explain it is to show a visual of the array returned: ```lua [1] = { CurrentStartIndex = 1, -- This can vary depending on the page you input. TotalCount = 21, -- Always 21. Results = { -- All parameters here are pseudo. They can vary depending on the asset. [1] = { Name = "Asset Name", AssetId = 0000000, AssetVersionId = 0000000, CreatorName = "Roblox", } -- [2], [3], and so on... up to [21] } } ``` An example for iterating over this list has been provided at the bottom of this page. Additionally, if you would like to insert free `Class.Decal|Decals`, you can use the `Class.InsertService:GetFreeDecalsAsync()` function. code_samples: - InsertService-GetFreeModels1 parameters: - name: searchText type: string default: summary: | String used to search for free decals in the Catalog. - name: pageNum type: int default: summary: | The page number in the Catalog to return. returns: - type: Array summary: | A single table (of returned free models) wrapped in a table. tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - AssetRead - name: InsertService:GetFreeModels summary: | Retrieves a list of Free Models from the Catalog. description: '' code_samples: - InsertService-GetFreeModels1 parameters: - name: searchText type: string default: summary: | String used to search for free decals in the Catalog. - name: pageNum type: int default: summary: | The page number in the Catalog to return. returns: - type: Array summary: | A single table (of returned free models) wrapped in a table. tags: - Yields - Deprecated deprecation_message: '' security: None thread_safety: Unsafe capabilities: - AssetRead - name: InsertService:GetLatestAssetVersionAsync summary: | Returns the latest AssetVersionId of an asset for assets created by the place creator. Can be used in combination with `Class.InsertService:LoadAssetVersion()` to load the latest version of a model, even if it gets updated while the game is running. description: | Returns the latest AssetVersionId of an asset for assets created by the place creator. Can be used in combination with `Class.InsertService:LoadAssetVersion()` to load the latest version of a model, even if it gets updated while the game is running. code_samples: [] parameters: - name: assetId type: int64 default: summary: '' returns: - type: int64 summary: '' tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - AssetRead - name: InsertService:GetUserCategories summary: '' description: '' code_samples: [] parameters: - name: userId type: int64 default: summary: '' returns: - type: Array summary: '' tags: - Yields - Deprecated deprecation_message: | This item is deprecated. Do not use it for new work. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:GetUserSets summary: | Returns an array of dictionaries, containing information about sets owned by the user. description: | Returns an array of dictionaries, containing information about sets owned by the user. This includes - Sets the user is subscribed to. - Sets that the user created. - A single set containing the models created by the user. - A single set containing the decals created by the user. Note: - All values in the dictionaries are strings, even if they are a number.
Name Description
Name The name of the set.
Description The description of the set.
ImageAssetId An assetId for the icon of the set.
CreatorName The creator of the set.
AssetSetId The set's unique ID on the website.
CategoryId Identical to AssetSetId
SetType The type of set that this set is.
code_samples: [] parameters: - name: userId type: int64 default: summary: '' returns: - type: Array summary: '' tags: - Yields - Deprecated deprecation_message: | [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:Insert summary: | Inserts `Class.Instance` into `Class.Workspace`. description: | This function is a legacy method used to insert an `Class.Instance` into `Class.Workspace`. code_samples: - InsertService-Insert1 parameters: - name: instance type: Instance default: summary: '' returns: - type: () summary: '' tags: - Deprecated deprecation_message: | This function has been superseded by `Class.InsertService:LoadAsset()` which should be used in all new work. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:LoadAsset summary: | Returns a `Class.Model` containing the asset. description: | The LoadAsset function fetches an asset given its ID and returns a `Class.Model` containing the asset. For example, to load this public [Doge](https://www.roblox.com/library/257489726/Doge) `Class.Model`, which has the asset ID **_257489726_**, you can use: ```lua local InsertService = game:GetService("InsertService") local Workspace = game:GetService("Workspace") local assetId = 257489726 local model = InsertService:LoadAsset(assetId) model.Parent = Workspace ``` Calls to this function may fail if a server providing a model is having problems. As such, it's generally a good idea to wrap calls to this function in `pcall` to catch these kinds of errors. ```lua local InsertService = game:GetService("InsertService") local Workspace = game:GetService("Workspace") local assetId = 257489726 local success, model = pcall(InsertService.LoadAsset, InsertService, assetId) if success and model then print("Model loaded successfully") model.Parent = Workspace else print("Model failed to load!") end ``` #### Security Check An asset loaded by this function must meet one of the following: - The asset must be **created or owned** by the game creator. - The asset must be **shared** by the asset owner. - The asset must be owned by Roblox. Additionally, benign asset types such as t-shirts, shirts, pants and avatar accessories are loadable from any game as they are `OpenUse`. To load assets which do not meet the above criteria, such as free Models published on the Store, you must use `Class.AssetService:LoadAssetAsync()` and enable `Class.AssetService.AllowInsertFreeAssets`. See also: - `Class.AssetService:GetBundleDetailsAsync()`, to find out which assets are associated with a bundle. - For plugins, see `Class.DataModel:GetObjects()` code_samples: - InsertService-LoadAsset1 parameters: - name: assetId type: int64 default: summary: | The asset ID of the asset being loaded. returns: - type: Instance summary: | An instance of the loaded asset. tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - LoadOwnedAsset - name: InsertService:loadAsset summary: '' description: '' code_samples: [] parameters: - name: assetId type: int64 default: summary: '' returns: - type: Instance summary: '' tags: - Yields - Deprecated deprecation_message: | This function is a deprecated variant of `Class.InsertService:LoadAsset()` which should be used instead. security: None thread_safety: Unsafe capabilities: [] - name: InsertService:LoadAssetVersion summary: | Returns a model inserted into `Class.InsertService` containing the asset with the given assetVersionId. description: | Returns a model inserted into `Class.InsertService` containing the asset with the given assetVersionId. code_samples: - InsertService-LoadAssetVersion1 parameters: - name: assetVersionId type: int64 default: summary: '' returns: - type: Instance summary: '' tags: - Yields deprecation_message: '' security: None thread_safety: Unsafe capabilities: - LoadOwnedAsset events: [] callbacks: []