> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evox.wraithesports.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish your own pack

> Share a profile, icon pack or sound pack you made on the evoX Market. Sign in with Google, submit from the desktop or upload from the web; it is published after moderation approval.

You can share content you made with everyone on the evoX Market. This page walks through the **data-only** publishing flow from start to finish, with no technical knowledge required: you don't need a CLI or to write code, you do everything through the desktop app and the web.

## What you can publish

<Columns cols={2}>
  <Card title="Ready profile">Share a profile you edited, with its key layout and assets.</Card>
  <Card title="Icon pack">Add your own icon collection to the Market.</Card>
  <Card title="Sound pack">Share sound content used on keys.</Card>
  <Card title="Action pack">Package native behaviors and presets from the app.</Card>
</Columns>

<Info>All of these are **data-only** packs; they contain no executable code. Executable plugin upload is still closed (`PLUGIN_UPLOAD_NOT_READY`). Details: <a href="/en/sdk/distribution-status">Distribution status</a>.</Info>

## The only requirement to start: sign in

There is **no** separate publisher application. Anyone who signs in with a Google account can upload a pack directly and submit it to moderation. The only gate is **moderation**: if an administrator approves, the pack is added to the Market; if not, it is not added.

<Info>The “Verified” badge exists only on official wraithesports content; community packs can be approved and published but do not receive the verified badge.</Info>

## Method 1 — One click from the desktop (easiest)

If you prepared your profile in the desktop app, you can submit it directly without dealing with files.

<Steps>
  <Step title="Connect your Market account">
    In the desktop app, sign in with your Google account from the **Market** section.
  </Step>

  <Step title="Select the profile and submit">
    Select the profile you want to publish and use the **Publish to Market** action. The app creates the pack for you automatically, uploads it and forwards it to moderation.
  </Step>

  <Step title="Wait for approval">
    The pack moves to the **submitted for review** state. Once it passes moderation, it is published on the Market.
  </Step>
</Steps>

## Method 2 — Export + upload from the web

If you want to keep the pack as a file, share it or upload it from the web:

<Steps>
  <Step title="Export from the desktop">
    Save the profile as an `.evoxpack` file with **export**. The file goes to your Downloads folder.
  </Step>

  <Step title="Go to Publish on the web">
    Sign in with your Google account and open the **Publish** page.
  </Step>

  <Step title="Upload the file">
    Select the `.evoxpack` file, optionally add a title and changelog, and choose **Upload and scan**. The pack goes through the security scan and is saved as a draft.
  </Step>

  <Step title="Submit to moderation">
    Use **Submit to moderation** to make the draft a publication candidate. Once approved, it appears on the Market.
  </Step>
</Steps>

## Publishing an icon or sound pack

You can also share your own icon or sound collection as a pack **independent of any profile**. It works per folder: **all items in a user folder** go into a single pack.

<Steps>
  <Step title="Collect the content in a folder">
    Create a folder in the **Icons** (or **Sounds**) section and add the items you want to share. The pack contains all supported files in the selected folder.
  </Step>

  <Step title="Select the folder">
    Select your own folder in the left list. (Only folders you created can be packaged; ready packs installed from the Market and built-in sets cannot be packaged.)
  </Step>

  <Step title="Package or submit">
    Export it as an `.evoxpack` file with **pack** (📦) in the folder header, or upload it directly and forward it to moderation with **Publish to Market** (🏪).
  </Step>

  <Step title="Wait for approval">
    If you submitted it to the Market, the pack goes through the security scan and enters moderation; once approved, it is published on the Market.
  </Step>
</Steps>

<Info>An icon pack carries PNG/JPG/GIF/WebP/SVG and animated video icons; a sound pack carries WAV/OGG/MP3 files. The same scan applies to all pack types.</Info>

<Note>The packs you export carry no operating system information. You can move a pack you created on Windows to a Mac or to Linux, and the person you send a pack to can install it on whatever system they use.</Note>

## Releasing a new version of a pack you published

When you update a pack you published before, you don't need to upload it again from scratch. On the **Publish** page, the **New version of an existing product** option adds a new version to the same product; no second entry is created on the Market and the product's version history accumulates in one place.

<Steps>
  <Step title="Select the product">
    Only packs you own appear in the list. Each shows its status next to it: published, in review, rejected or draft. If the product you select already has a version waiting in moderation, you are warned.
  </Step>

  <Step title="Increase the version number">
    The new version number is read from the pack's manifest and must be **strictly greater** than the current version (for example `1.0.0` → `1.0.1`). The same or a lower number is rejected. A pack whose content has not changed at all is also rejected; to release a version, something must actually have changed.
  </Step>

  <Step title="Write the changelog">
    A changelog is required for new versions. Users see this note in the version history on the product page, so they understand what changed in the update.
  </Step>

  <Step title="Wait for it to pass moderation">
    The new version also goes through the same security scan and moderation. **The published version does not change until approval** — users keep using the old approved version. If the version is rejected, the published version is not affected at all.
  </Step>
</Steps>

<Info>Old versions are not deleted; they remain in the version history.</Info>

## Passing the pack security scan

Every uploaded pack goes through an automatic security scan before publication. It **must not contain**:

* Real secret information (private key, API token, JWT, password).
* Files whose content does not match their extension.
* Active SVG containing scripts/events.
* Executable/active files such as `.exe`, `.dll`, `.js`, `.bat`.
* Absolute file paths or old (legacy) identifier values.

<Tip>To keep your pack clean, add only the profile, icons or sounds you really want to share; do not include files containing personal paths or account information.</Tip>

For the full scan list and error codes, see the developer-facing <a href="/en/sdk/publishing">Publishing pipeline</a> page.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="When does my pack appear on the Market?">
    After moderation approval. Uploading and submitting to moderation make you a publication candidate; an administrator gives the final approval.
  </Accordion>

  <Accordion title="What happens if my pack is rejected?">
    If moderation rejects it, the pack is not added to the Market. You can fix the reason, upload a corrected version to the same product with the **New version of an existing product** option and submit it again; you don't need to open a new product. You can see the status of what you submitted in the **My submissions** list on the **Publish** page.
  </Accordion>

  <Accordion title="Do I have to submit my pack myself?">
    Yes. Only the owner who uploaded a pack can submit it to moderation.
  </Accordion>
</AccordionGroup>
