As a Roblox developer, it is currently hard to implement a way to transfer something a different user made in studio to your game.
For example, currently I am having a problem with transfering a user-made level from studio to my game, for more detail and more info, check out the post linked below.
Long story short, instead of using InsertService
in this case, I am forced to serialize the said level and save it on a 3rd-party hosting service, then I would give an ID to the user, and back in the game, the user would pass the server that ID and load up the level.
Thus, to avoid all the trouble 3rd-party services might impose and to allow developers to do such things way more easily, reliably and faster, I suggest that InsertService
receives a new method or that InsertService:LoadAsset()
receives an update.
Since InsertService
already had this functionality available before, it shouldnât be much work (I guess) to reintroduce the previous functionality of it, in some different form.
Whether InsertService:LoadAsset()
receives an update, or a new method is added, the new functionality of that method should be fairly similar to game:GetObjects()
, originally, InsertService:LoadAsset()
was able to load free models which are not owned by the gameâs creator directly, most likely the restrictions we have nowadays are made to prevent âVirusâ models and them Inserting other malicious scripts,âŚ
In order to keep that security, I suggestâŚ
InsertService:LoadAsset(assetId: number, assetLoadFilter: Enum.AssetLoadFilter)
or
InsertService:LoadAsset(assetId: number, classWhitelist: {} or classBlacklist: {})
Enum.AssetLoadFilter consisting of the following enumsâŚ
Enum.AssetLoadFilter.AllowScripts,
Enum.AssetLoadFilter.DisallowScripts,
Enum.AssetLoadFilter.Default (DisallowScripts)
Or classWhitelist/classBlacklist table consisting of ClassNames which are to be loaded or not.
If the developer allows scripts in any of these two methods, the method should function as it functions today (only allows models made or directly owned by the owner), but if the user disallows scripts, only the model should be loaded regardless if the model is made or directly owned by the owner. (Note that the asset at that point should be free)