主题
SCE Resource Picker
Use this skill whenever code or data needs a real shipped asset path. Do not invent paths from memory.
Editor MCP Resource Catalog
When a full SCE Editor MCP is reachable, prefer the live resource catalog tools before falling back to static JSON indexes:
- Call
editor_get_contextfirst. Ifproject.is_openisfalseorready_stateisproject_not_open, project resources are unavailable, but editor-local and cloud catalog queries can still be used. - Use
resource_catalog_list_categoriesto discover cloud catalog categories and common labels before broad cloud searches. - Use
resource_catalog_searchwithsource=localfor editor public resources,source=cloudfor cloud catalog assets, andsource=projectfor the currently opened project'sres/andui/resources. If no project is open,source=projectshould return an empty result with a warning rather than an error. - For project resources, pass
rootKind=currentMapwhen the user asks for "this project's own resources"; userootKind=anyonly when dependency libraries should also be searched. Other project filters areeditableLib,dependencyLib, andproject. - Treat
source=anyas a convenience query, not a proof that cloud search was exhaustive. Cloud catalog lookup has a time budget and may return a warning while still providing valid local/project results. For ordinary path or name searches, prefersource=projectorsource=local; usesource=cloudplus category/label filters when the user explicitly needs cloud assets. - Use
resource_catalog_get_detailto confirm a candidate path before writing it into code, GameData, or GameUI configuration. - Use
resource_get_preview_infobefore finalizing visible or audible assets. It returns structured summaries for prefab/mdl models, images/icons, sounds, animations, particles, and UI metadata without exposing the resource file contents. For models, read bbox/vertex/triangle/material/texture summaries; for images/icons, read dimensions and format; for sounds, read duration/sample rate/channels; for animations and particles, read length/tracks/emitter/material/texture summaries. - If the task needs a readable official
.effector prefab example for AI authoring, continue with resource-catalog-export: search the cloud catalog, download the complete resource, and export a plaintext project copy. - Check each response's
projectOpen,availableSources,warnings,path,resourceType, andsourcefields. Do not assumeprojectappears inavailableSources. - Catalog choices should use returned resource paths, not machine-specific maintenance roots or temporary local copies. Local FBX import is a separate authoring workflow: its
sourcesexplicitly take the user's local absolute FBX paths.
Project Files, Display Names and Local FBX
- Files copied directly into project
res/orui/do not need cloud registration or matching cloud ownership to appear in the project file browser. The MCP catalog remains a typed asset search, not a complete filesystem listing; an absent result does not prove a file is absent. displayNameis for presentation and name search, never for resource identity. Newer catalogs preferres/project_resources.jsonentries'show_name, then a readable prefab array'stype: projectResourceInfo/show_name, then the parent folder formodel.prefab/particle.effect, otherwise the filename. Missing or unreadable metadata must not hide the file. Older editor catalogs may only return filename-derived names.- Project manifest paths are relative to project
resor absolute local paths. Do not use a parent-folder ID alone to match records: two folders may contain identically named files. Prefab metadata may lag the manifest after a rename. Do not rename files or rewrite resource references merely to improve display names. - Use catalog
pathfor subsequent catalog/preview calls. For code, convert according to the consuming API:res/models/Tiger/model.prefabgenerally becomesmodels/Tiger/model.prefab;ui/image/foo.pngbecomesimage/foo.pngfor GameUI. Keep the original catalog path available for verification. - The resource browser's extension placeholder and preview-only filter describe its preview capability, not a whitelist of allowed project files. A prefab without a thumbnail can still be previewable. Raw FBX must be converted before model use.
- Scene material placement has a narrower scope: project
resprefab files and standardparticle.effectentries. Its placement records use paths belowres, not the absolute filesystem path used by the browser. The 2.0 material tab does not auto-create legacy Lua units; author units through GameData and the unit workflow. - For user-requested local FBX import, discover
resource_import_fbx_batchwithtools/list; it requires the full Editor host. Preview a batch withdryRun: true, then execute the authorized import withfalse. Inspect every per-file result, including partial failures and skipped targets. - For a static XML/UMD2 model bundle or ZIP, discover resource_import_model_package and follow ProjectModelImport. Inspect dryRun, execute the authorized import, inspect validation/dependency diagnostics, then resource_open_preview and verify rendering and placement. Unsupported skeletal/components/materials must not be silently flattened. Project-local res assets need no resource statistics.
json
{
"sources": ["D:/MyAssets/Tiger.fbx", "D:/MyAssets/Tree.fbx"],
"destination": "res/models/imported",
"mode": "model",
"sceneConvert": "native",
"overwrite": "skip",
"continueOnError": true,
"dryRun": true
}Each model goes to <destination>/<source basename>/model.prefab with its generated assets. mode: animation exports the first animation take as .ani; sceneConvert: unity selects the Unity preset. The initial tool supports skip or error for existing targets, not overwrite; identical source basenames can conflict. Failure may leave partial outputs. .import.json records import settings but is not a display-name configuration. Cancellation takes effect between files; large conversions may exceed a short HTTP timeout, so inspect outputs before retrying. Verify resulting prefab, textures and animations with resource_get_preview_info; importing a model does not create a GameDataUnit or upload the asset to the cloud.
The live catalog is the best source for resources that depend on the user's current editor installation, cloud catalog state, project res/ / ui/ files, or dependency libraries. Static indexes remain useful when MCP is unavailable, when reviewing repository docs offline, or when a task must be reproducible without a running editor.
Resource Indexes
Look in project docs/resources/ first:
| Need | Index |
|---|---|
| Characters, monsters, model prefabs, built-in animations on a model | docs/resources/characters.json, characters1.json |
| Shared Humanoid animations and hit/cancel timing | docs/resources/animations.json |
| Particle/effect assets | docs/resources/effects.json |
| Sound effects or music snippets | docs/resources/sounds.json |
| Weapons | docs/resources/weapons.json |
| Decoration/scenery models | docs/resources/deco.json |
| UI icons | docs/resources/official-icons.json |
| UI images | docs/resources/ui-images.json |
| Overview | docs/resources/index.json, docs/resources/readme.md |
Prefer rg over opening large JSON files manually. Search by Chinese and English keywords, then read only the surrounding JSON entry.
Path Rules
For ordinary UI controls displaying a rectangle of an existing image atlas, use the project atlas manifest and region JSON workflow in CustomUIAtlas. A virtual child-image path need not have a loose file. Follow ui-layout-api for authoring and screenshot verification; absence of a control-level UV property is not a reason to require Canvas or CPU image cropping.
For atlas halos, black/white fringes or neighboring-image bleeding, read the guide's edge troubleshooting. Distinguish padding/extrusion, transparent-pixel RGB and alpha convention, mip filtering and published texture compression. Keep external extrusion outside the JSON region; verify the actual published texture and screenshots at the intended scales instead of changing UVs or premultiplying all images by default. Use the transparent-pixel RGB dilation checklist when preparing or checking atlas images: inspect invisible RGB values, preserve every alpha value, isolate each subimage and verify the exported texture's alpha convention.
For published atlas inventory, follow the verification MCP contract. Bind the verification to a successful publish operation and one returned platform variant, then retain verification_id for polling. JSON equality, container metadata and actual rendering are separate evidence; no pixel decoder means no pixel comparison. Do not infer a missing loose icon file is a missing resource when its logical path exists in the atlas.
- GameUI image paths usually start from
ui/content without theui/prefix in code, for example fileui/image/foo.pngis used asimage/foo.png. - GameGraph and engine resources use the engine resource path expected by that API. Do not prefix paths with local filesystem roots.
- Particle assets used by
ParticleSystem.Load(...)usually look likeeffect/.../particle.effect. - Character model prefabs usually look like
characters.../.../model.prefab. - Shared Humanoid animations are
.anipaths and may require resource statistics / bake before debug.
Selection Workflow
- Identify the asset category from the task.
- If full Editor MCP is reachable, query
resource_catalog_*and confirm the candidate withresource_catalog_get_detail. - For visible or audible choices, call
resource_get_preview_infoon the shortlisted path and reject unsupported or clearly wrong resource types before writing data. - If MCP is unavailable or the needed source is not in
availableSources, search the matching static index withrg. - Pick a small set of candidates and prefer:
- assets already used by the target template or nearby sample;
- assets with animation names matching the needed behavior;
- simple, stable placeholder resources for prototypes.
- Verify the path against the consuming system:
- 3D units/models: read
skills/3d-unit-game/SKILL.mdanddocs/systems/ModelAnimationSystem.mdwhen animation is involved. - Runtime particles: read
skills/runtime-particle-builder/SKILL.md. - UI images/fonts: read
skills/ui-layout-api/SKILL.mdorskills/ui-custom-font/SKILL.md.
- 3D units/models: read
- Run
sce-preview-verifyfor visible assets.
Common Choices
- For a first 3D hero prototype, prefer the recommended built-in models listed in
skills/3d-unit-game/SKILL.md. - For attack/move/death animation, first check the selected model's own
animsfield. Use shared Humanoid animations only when the model supports the bake/retarget flow. - For effects bound to Unit/Ability/Buff data, prefer authored effect assets and actor data. Use runtime particle builder for procedural previews or temporary code-driven VFX.
- For icons, use
official-icons.jsonand copy/use the listedcopyTopath when creating UI image resources.
Output Format
When reporting a resource choice, include:
- the chosen path;
- the live MCP source or static index file used;
- why it fits the task;
- relevant preview metadata such as bbox size, image dimensions, audio duration, animation length, or particle summary when available;
- any follow-up bake/statistics/debug step needed.