LogoLogo
WebsiteBlogForumsSign up
  • Welcome
  • How Ready Player Me works
  • FAQ
  • 👩‍💻Integration Guides
    • Overview
    • Unity
      • Quickstart
      • Avatar Creator Integration
        • WebView Avatar Creator
          • Avatar Creator for Android & iOS
          • Avatar Creator for WebGL
        • Build your own Avatar Creator
          • Start with the sample
          • Elements
            • Asset Selection Element
            • Color Selection Element
            • Template Selection Element
            • Body Shapes Selection Element
            • Gender Selection Element
            • Avatar List Element
            • Photo Capture Element
            • Signup Element
            • Login Element
            • Logout Element
          • User Management
      • Load 2D Renders
      • Avatar Loader Window
      • Setup Multiplayer
      • Setup for XR (Beta)
        • Setup the Player Avatar
        • Setup Meta Movement SDK
        • Setup Final IK
        • Setup XR Hands
          • RpmHandDriver script
        • Facial Animations
        • VR Avatar Creator
      • Animations
        • Ready Player Me Animation Library
        • Mixamo Animations
      • Optimize
        • Avatar Configuration
        • Avatar Caching
        • Defer Agents
      • Code Samples
        • Loading 3D Avatars
        • Loading 2D Avatars
        • Avatar Creator (WebGL)
        • Avatar Creator (Desktop)
        • Avatar Creator (Mobile)
        • Distance-based LODs
      • Troubleshooting
        • Editor UI Window Issues
        • Avatar loading issues
        • iOS issues
        • WebGL issues
        • Firewall issues
        • Updating the SDK
          • Unity SDK 3.0.0 Migration guide
          • Unity SDK 4.0.0 Migration guide
          • Unity SDK 5.0.0
          • Unity SDK 7.0.0
          • WebView 2.0 Migration
        • Package installation issues
      • Help us improve the Unity SDK
      • FAQ for Unity
      • Early Access Features
    • Unreal Engine
      • Quickstart
        • Import SDK Manually
      • Avatar Creator Integration
        • Build your own Avatar Creator
          • Sample Structure
          • Customization Guide
        • WebView Avatar Creator
      • Load Avatars
      • Animations
        • Ready Player Me Animation Library
        • Loading Mixamo animations
        • Mannequin animation retargeting
        • Blender FBX export to UE
        • Oculus Lipsync integration
      • Optimize
        • Avatar configuration
        • Avatar caching
        • Avatar preloading
      • Code Samples
        • Unreal Engine 5 samples
        • Lyra project integration example
        • VR Avatars
        • Unreal Engine 4
      • Troubleshooting
        • Project compilation issues
        • Missing materials on built applications
        • Avatar loading issues
        • Animation issues
        • Unreal SDK breaking changes
        • Avatar lighting issues
        • Updating from earlier versions
          • Unreal SDK 3.0.0 Migration guide
        • Auto LOD issues
      • Help us improve the Unreal Engine SDK
      • FAQ for Unreal Engine
      • Early Access Features
    • React
      • Quickstart
    • React Native
    • iOS Native
    • Android Native
    • Web Integration
      • Quickstart
      • User Management
        • Guest Accounts
        • Account Linking
      • Avatar Creator integration
      • Optimize
    • API Integration
      • Quickstart
      • Custom Avatar Creator
      • User management
        • Ready Player Me Account
        • Anonymous Accounts
    • UX/UI Guidelines
      • Summary & quick tips
      • UX and UI guidelines and essentials
        • Foundation for good user experience
          • Layout
          • Colors
          • Typography
          • Icons
          • Dark mode and light mode
        • Mobile best practices
          • Layout
        • Making Ready Player Me feel native
          • Seamless Avatar Integration
          • Consistent Branding
          • Responsive Layout
          • Performance Optimization
        • Discoverability of the avatar editor
          • Onboarding tutorial
          • Clear navigation
          • Contextual Placement
  • 🖌️Customizing Guides
    • Studio (Developer Dashboard)
    • Avatar Creator Appearance
      • Avatar URLs
      • Avatar Shortcodes
    • Upload and Manage Custom Assets
      • Asset Manager in Studio
      • Configure in Studio
      • Manage custom assets using the API
      • Unlocking assets through API (Beta)
    • Create Custom Assets
      • Fullbody Outfits
        • Checking Skin Weights
      • Tops, Bottoms, Shoes
        • Editing templates
      • Hairstyle
      • Headwear
      • Facewear
      • Glasses
      • Hero Characters
      • Modeling Guidelines
  • 🔃API Reference
    • REST API
      • Authentication
      • Avatars
        • GET - 3D avatar
        • GET - 2D Render of an Avatar
        • GET - Metadata
        • PUT - Equip an asset
        • PUT - Unequip an asset
      • Assets
        • Asset Entity Properties
        • POST - Create Asset
        • GET - List Assets
        • PATCH - Update Asset
        • POST - Upload Asset Files
        • POST - Add Asset to Application
        • DELETE - Remove Asset from Application
        • PUT - Unlock asset for a user
        • PUT - Lock asset for a user
      • Users
        • POST - Create User
      • Auth
        • GET - Token
      • Changelog
    • Avatars
      • Full-body avatars
      • Full-body XR avatars
      • Half-body avatars
      • Morph targets
        • Apple ARKit
        • Oculus OVR LipSync
    • Avatar Creator
  • 🔉Support
    • Forums
    • Licensing & Privacy
Powered by GitBook
On this page
  • Before you begin
  • 1. Get equipable assets
  • Get all of the available asset in application for the specific user
  • 2. Sort assets by type
  • 3. Equip asset to the user
  • Equip asset to the avatar
  • 4. Fetch the updated avatar
  • Fetch assigned avatar as GLB file
  • 5. Save updated avatar
  • Save updated avatar
  • 6. Fetch avatar
  • 7. Make your project awesome!

Was this helpful?

  1. Integration Guides
  2. API Integration

Custom Avatar Creator

Get Assets and Icons to dress your avatar and build your avatar creator asset UI

PreviousQuickstartNextUser management

Last updated 12 months ago

Was this helpful?

Before you begin

  • Make sure you have created an anonymous user and assigned them an avatar in the . We will need the created user ID, avatar ID, and user authorization token in this section.

  • You will also need to know your application ID. This is accessible from the on your application page. If you don't have an account in the studio, then you will need to sign up. This should be selected as seen below.

1. Get equipable assets

  • replace user-id in the query with an anonymous user ID you created before

  • replace application-id in the query with the application ID you got before from the studio

  • add X-APP-ID header, which has the value of your application ID

  • add Authorization header, which contains user authorization token as Bearer.

Get all of the available asset in application for the specific user

GET https://api.readyplayer.me/v1/assets?filter=usable-by-user-and-app&filterApplicationId=[application-id]&filterUserId=[user-id]

Query Parameters

Name
Type
Description

filterApplicationId

Application id from studio

filterUserId

String

User id

Headers

Name
Type
Description

X-APP-ID*

String

Application id from studio

Authorization*

Bearer [token]

{
    "data": [
        {
            "id": "123456789",
            "name": "outfit",
            "organizationId": "63eba72b442b6965bf9f1ed2",
            "listed": true,
            "locked": false,
            "type": "outfit",
            "editable": false,
            "gender": "female",
            "hasApps": true,
            "campaignIds": [],
            "iconUrl": "https://www.datocms-assets.com/36636/1682332188-573b9a7f-bf01-4f17-965d-d34d56bd2bdf.jpg",
            "maskUrl": "",
            "baseColorUrl": "",
            "occlusionUrl": "",
            "psdTemplateUrl": "",
            "badgeLogoUrl": "",
            "faceBlendShapes": [],
            "color": null,
            "hairStyle": "",
            "eyebrowStyle": "",
            "eyeStyle": "",
            "beardStyle": "",
            "glassesStyle": "",
            "lockedCategories": [],
            "activeForCampaign": "",
            "iconText": "",
            "iconGlow": false,
            "price": "",
            "fullPrice": "",
            "position": 25627,
            "createdAt": "2023-04-28T17:17:29.061Z",
            "updatedAt": "2023-06-09T13:55:31.608Z"
        }
    ]
}

2. Sort assets by type

Asset types are also different for each gender. So make sure that if you, e.g., want to modify a female avatar, you only download and display female assets.

3. Equip asset to the user

You will need an asset ID and the user avatar ID, to equip the given asset to the user.

Equip asset to the avatar

PATCH https://api.readyplayer.me/v2/avatars/[avatar-id]

Request Body

Name
Type
Description

outfit

String

id of the outfit

{
    "data": {
        "id": "1234567980",
        "partner": "default",
        "gender": "female",
        "bodyType": "fullbody",
        "assets": {
            "beardColor": 0,
            "beardStyle": "",
            "eyeColor": "9781803",
            "eyeShape": "",
            "eyebrowColor": 0,
            "eyebrowStyle": "41302445",
            "faceMask": "",
            "faceShape": "",
            "glasses": "9247416",
            "hairColor": 0,
            "hairStyle": "9247471",
            "headwear": "",
            "lipShape": "",
            "noseShape": "",
            "outfit": "145859028",
            "shirt": "",
            "skinColor": 5,
            "skinColorHex": "#cf927a"
        }
    }
}

4. Fetch the updated avatar

After making the call to add the asset to the avatar, you can then fetch this avatar as a GLB by calling the following URL with your avatar ID.

Fetch assigned avatar as GLB file

GET https://api.readyplayer.me/v2/avatars/[avatar-id].glb?preview=true

5. Save updated avatar

Once your draft avatar has been equipped with all of the desired assets from the asset list endpoint, you can then move on to confirming and saving your new avatar draft. You can do this with the following endpoint:

Save updated avatar

PUT https://api.readyplayer.me/v2/avatars/[avatar-id]

Headers

Name
Type
Description

Authorization

Bearer [token]

{
    "data": {
        "id": "65367050b6ff020dad1ebc57",
        "partner": "default",
        "gender": "female",
        "bodyType": "fullbody",
        "assets": {
            "skinColor": 5,
            "eyeColor": "9781803",
            "hairStyle": "9247471",
            "hairColor": 0,
            "beardStyle": "",
            "beardColor": 0,
            "eyebrowStyle": "41302445",
            "eyebrowColor": 0,
            "shirt": "",
            "outfit": "143549640",
            "glasses": "9247416",
            "faceMask": "",
            "headwear": "",
            "lipShape": "",
            "eyeShape": "",
            "noseShape": "",
            "faceShape": "",
            "createdAt": "2023-10-24T06:38:08.421Z",
            "updatedAt": "2023-10-24T06:38:08.421Z",
            "skinColorHex": "#cf927a"
        },
        "favorite": false,
        "default": true
    }
}

6. Fetch avatar

You can now fetch your newly saved avatar from the URL below with the avatar id.

GET https://models.readyplayer.me/[avatar-id].glb

7. Make your project awesome!

All of the requests shown in this section are also visible in the public

To show all the equipable assets on the avatar-creator, you need to fetch them first. You can do this with the asset list endpoint specified below. You can authenticate a user with their token from the step, and you can provide a range of different query param filters to filter the returned assets. For this example, you will need to:

More info about the rest of the parameters and responses can be seen in the API documentation:

To sort assets by type in the editor, you can use the type parameter from the previous step response. All of the available types for the assets are listed under the entity.

At this stage, you will now have your draft avatar from the page, and you will have used the asset list endpoint to fetch a list of assets that you can equip. Now that we have these two components we need some way to put them together so that we can equip some of these assets to our draft avatar.

You now have a working application with a working implementation of the Ready Player Me avatar creator that will create avatars linked to your Ready Player Me application. You can now take a look at or you can go in any direction you think makes sense for your project.

👩‍💻
Ready Player Me Postman collection
previous
https://docs.readyplayer.me/ready-player-me/api-reference/rest-api/assets/get-list-assets
Asset
previous
how to import your own custom assets to your application
previous step
studio
Custom avatar creator
Example of listing the assets by type