Get an rbxasset:// URL for a workspace file (UNC getcustomasset)
get-custom-assetConvert a file from the executor's workspace into a Roblox content URL (rbxasset://) to use as an asset ID for images, sounds, meshes, etc.
Instructions
Turn a file in the executor's workspace into a content URL (rbxasset://...) usable as an asset id for images, sounds, meshes, etc. inside the game. NOTE: this is executor-side file I/O — the connector runs INSIDE the executor, so the path is relative to the executor's workspace directory on the host machine, NOT the Roblox game. This is marked state-mutating because on most executors getcustomasset COPIES the file into the Roblox content cache as a side effect. Requires the UNC function getcustomasset(path) -> string. The call is type-guarded and pcall-wrapped: if getcustomasset is missing you get { error = 'getcustomasset is not available in this executor.' }, and any failure returns { error = }. Returns { path, asset } or { error }. Signature: { path: string, threadContext: number?, timeoutMs: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, resolved-target, explicit-mutation-approval. Produces: structured-observation, operation-receipt. Verify with: assert-state. Safety: MUTATING; writes executor workspace filesystem. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the file within the executor workspace to expose as an asset, e.g. 'images/logo.png'. | |
| timeoutMs | No | Optional per-call deadline in milliseconds; omit it to use the tool or server default. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |