Unity Addressables logo

Unity Addressables

CommunityPopular
Besty0728
unity-addressables

Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)

Overview

PublisherBesty0728
RepositoryUnity-Skills
Skill nameunity-addressables
Stars
1.8K
Forks
164
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Besty0728 on GitHub. Read the source before you install it.

Installation

Install the Unity Addressables AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.

Use it in TypingMind

Enable Unity Addressables in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Unity Addressables on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Unity Addressables is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Checking whether Addressables is installed and configured
  • Creating Addressables groups and adding assets to them
  • Switching the active Addressables profile
  • Building Addressables content
  • 检查 Addressables 是否安装与配置、创建资源组并添加资源、切换激活 Profile、构建 Addressables 内容

Unity Addressables Skills

Editor-side automation for Addressables — group CRUD, asset entry assignment, profile switching, and the content build. This is the authoring surface (the AddressableAssetSettings asset); runtime loading code is not a skill.

This module holds zero direct references to the package. Every call resolves through reflection against the Unity.Addressables.Editor assembly, so the UnitySkills Editor assembly compiles identically whether or not Addressables is installed — there is no scripting define to set and no recompile needed after installing.

Requires: com.unity.addressables (API anchored to 2.x Editor source; the 1.22.x API surface used here is identical). Companion modules: addressables-design for the runtime loading contract and the 1.22.3 / 2.9.1 migration table, yooasset if the project ships hot updates through YooAsset instead, package to install the package.

Guardrails

Two independent preconditions. Failing either returns a structured error, not a permission denial:

  1. Package installed. Without it every skill except addressables_check_installed returns errorCode: "MISSING_PACKAGE" with requiredPackage, docs and install instructions.
  2. Settings asset created. The package can be installed while AddressableAssetSettings does not yet exist. Every skill except addressables_check_installed then returns errorCode: "TARGET_NOT_FOUND" telling you to create it from Window > Asset Management > Addressables > Groups. There is deliberately no skill for this step — only the Groups window (or a human) can create the settings singleton.

Always call addressables_check_installed first. It is the only skill that works in both failure states, and its installed / configured pair tells you which precondition is missing.

Operating Mode (v1.9 three-tier):

  • SemiAutoaddressables_check_installed, addressables_group_list, addressables_profile_get run directly in all three modes without a grant.
  • FullAutoaddressables_group_create, addressables_group_add_entry, addressables_profile_set, addressables_build need a user grant under Approval (grant triggers one server-side execute returning the result); under Auto / Bypass they run directly with audit only.
  • Auto-forbidden (NeverInSemi, SkillOperation.Delete) — addressables_group_delete returns MODE_FORBIDDEN under Approval and Auto. Only Bypass or a user-managed Allowlist entry can run it; never attempt a grant for it.

DO NOT (these skills do NOT exist — do not invent them):

  • addressables_group_remove_entry / addressables_entry_list / addressables_entry_set_address — there is no entry-removal, entry-listing or address-rename skill. addressables_group_list reports only entryCount per group. Move an entry with addressables_group_add_entry; to inspect or remove individual entries use the Addressables Groups window.
  • addressables_profile_create / addressables_profile_set_variable — profiles can be selected but not created or edited here.
  • addressables_group_set_schema / addressables_analyze / addressables_clean_build — group schema editing, the Analyze rules and cache cleaning are not exposed.
  • addressables_settings_create — see precondition 2; the settings asset cannot be created from a skill.

Routing:

  • Addressables group / entry / profile authoring and content build → this module.
  • Runtime Addressables.LoadAssetAsync handle lifecycle, AssetReference usage, catalog updates → addressables-design (documentation only; write the code yourself).
  • Installing com.unity.addressablespackage_install in package.
  • Building the actual player → build_player (Project module) or unity-cli.

Skills

Environment (1)

addressables_check_installed

Probe for the package and the settings asset. The only skill that works without either. Call it first. Parameters: None Returns installed, configured, packageId, and a hint naming the next action. When installed it adds version (from PackageInfo.FindForAssembly) and settingsPath (null when configured is false).

Groups (4)

addressables_group_list

List every group in the settings asset. Parameters: None Returns count plus groups[], each entry carrying name, guid, isDefault, readOnly and entryCount. Use it to resolve a real group name before any group-scoped call.

addressables_group_create

Create a group with the standard BundledAssetGroupSchema + ContentUpdateGroupSchema pair. Not set as the default group and not read-only.

ParameterTypeRequiredDescription
groupNamestringYesDesired group name. Rejected when blank.

Returns groupName (the name that actually landed on disk), requestedName, renamed, guid, and a note when the two differ. See Critical Rule 1 — this skill renames on collision instead of failing.

addressables_group_add_entry

Add an asset to a group by asset path, optionally under a custom address.

ParameterTypeRequiredDescription
assetPathstringYesProject-relative path, e.g. Assets/Prefabs/Enemy.prefab. Resolved via AssetPathToGUID; a miss returns Asset not found.
groupNamestringYesTarget group. Matched case-insensitively; a miss returns Group not found with addressables_group_list as the suggested fix.
addressstringNoCustom address. Omit to keep the address Addressables assigns (the asset path for a new entry, the existing address for one being moved).

Returns assetPath, groupName, address (the final address read back off the entry) and guid.

addressables_group_delete

Remove a group from the settings asset. Auto-forbidden — Bypass or Allowlist only.

ParameterTypeRequiredDescription
groupNamestringYesMatched case-insensitively. The default group is refused (Cannot delete default group).

Returns groupName and deleted. The group's entries are dropped with it; the underlying assets are untouched.

Profiles (2)

addressables_profile_get

Read the active profile and the full profile list. Parameters: None Returns activeProfile (the resolved name, falling back to the id when the name cannot be resolved), activeProfileId, and profiles[] — the names accepted by addressables_profile_set.

addressables_profile_set

Switch the active profile by name.

ParameterTypeRequiredDescription
profileNamestringYesMust be a name from addressables_profile_get. A miss returns Profile not found with addressables_profile_get as the suggested fix.

Returns activeProfile, profileId, and changed (false when that profile was already active).

Build (1)

addressables_build

AddressableAssetSettings.BuildPlayerContent() for the current build target. Long-running and blocking — see Critical Rule 3. Parameters: None Returns success, duration (seconds), and message. On a build failure it returns success: false with duration and the build system's error; on an exception it returns success: false with error and details.

Critical Rules (must read)

  1. addressables_group_create renames on collision — always use the returned groupName. Addressables dedupes by appending a counter (TestGroupTestGroup1) rather than failing, so the name you asked for is not necessarily the name on disk. The response reports renamed: true, the actual groupName and your requestedName. Feeding requestedName into a follow-up addressables_group_add_entry or addressables_group_delete is the single most common failure in this module.
  2. addressables_group_add_entry moves, it does not copy. It calls CreateOrMoveEntry, so adding an asset that already belongs to another group relocates it. There is no skill to put one asset in two groups — Addressables does not allow it.
  3. addressables_build blocks the Editor main thread. UnitySkills runs every skill on the main thread through a single queue, so /health and /jobs stall for the whole build. Raise the client timeout well past the expected build time; a socket timeout does not cancel the build. It is not an AsyncJobService job, so there is no jobId to poll.
  4. Nothing in this module is workflow-undoable. Every mutating skill declares TracksWorkflow = false, so no pre-snapshot is taken and workflow_* undo cannot revert a created group, a moved entry, a profile switch or a build. Read the current state first (addressables_group_list / addressables_profile_get) if you need to restore it by hand.
  5. Group lookup is case-insensitive, collision-dedup is not. addressables_group_add_entry and addressables_group_delete match groupName with OrdinalIgnoreCase, so mygroup finds MyGroup. addressables_group_create compares the returned name ordinally, so renamed is exact-case. Do not rely on casing to keep two groups distinct.
  6. Every mutation writes the settings asset immediately. Each skill calls EditorUtility.SetDirty + AssetDatabase.SaveAssets, so changes hit AddressableAssetSettings on disk before the response returns — relevant if the file is under version control.
  7. configured: false is not an error state to retry. It means the settings asset does not exist yet. Retrying any other skill will keep returning TARGET_NOT_FOUND; a human must create it from the Groups window first.

Limitations

  • Authoring only. Group creation, entry assignment, profile selection and the content build. Entry enumeration/removal, address renaming, group schema fields, profile variables, labels, the Analyze rules and content-update (BuildContentUpdate / addressables_content.bin) are all outside the module — use the Addressables Groups window.
  • Build target is implicit. addressables_build builds for whatever EditorUserBuildSettings.activeBuildTarget currently is; there is no target parameter. Switch the target first if you need a different one.
  • Version drift is reported, not guessed. Reflection targets are anchored to the Addressables 2.x Editor source. When a member cannot be resolved the skill returns a named error (CreateGroup method not found on AddressableAssetSettings, Required Addressables group schema types were not found, …) instead of failing silently.
  • No batch skills. This module defines no *_batch variants; adding several assets means one addressables_group_add_entry call each.

Exact Signatures

For authoritative parameter names, defaults, and return fields, query GET /skills/schema?category=Addressables or unity_skills.get_skill_schema(). This document is a routing / best-practice guide, not the signature source.

Frequently asked questions

What does the Unity Addressables AI skill do?

Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)

Why use Unity Addressables on TypingMind?

Because you install it once and use it with any model. Unity Addressables is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Unity Addressables in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Besty0728/Unity-Skills/tree/main/SkillsForUnity/unity-skills~/skills/addressables. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Unity Addressables?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Unity Addressables?

As many as you like. As long as a model supports skills, you can use Unity Addressables with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Unity Addressables AI skill free?

Yes. It is published on GitHub by Besty0728 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇