diff --git a/.cursor/rules/roblox/common/navigation/avatar/guides.yaml b/.cursor/rules/roblox/common/navigation/avatar/guides.yaml
index 4aaea1f4..1d73a73d 100644
--- a/.cursor/rules/roblox/common/navigation/avatar/guides.yaml
+++ b/.cursor/rules/roblox/common/navigation/avatar/guides.yaml
@@ -55,6 +55,8 @@ navigation:
section:
- title: Overview
path: /art/characters/facial-animation/
+ - title: Validation process
+ path: /art/characters/head-validation
- title: Head specifications
path: /art/characters/head-specifications
- title: Face cage optimizations
diff --git a/.cursor/rules/roblox/common/navigation/engine/guides.yaml b/.cursor/rules/roblox/common/navigation/engine/guides.yaml
index 3e5c517f..5508291c 100644
--- a/.cursor/rules/roblox/common/navigation/engine/guides.yaml
+++ b/.cursor/rules/roblox/common/navigation/engine/guides.yaml
@@ -179,8 +179,8 @@ navigation:
path: /workspace/collisions
- title: Raycasting
path: /workspace/raycasting
- # - title: Bézier Curves
- # path: /docs/mechanics/bezier-curves
+ - title: Model generation
+ path: /parts/model-generation
- title: Scripting
path: /scripting/
section:
diff --git a/.cursor/rules/roblox/common/navigation/monetize.yaml b/.cursor/rules/roblox/common/navigation/monetize.yaml
index a7c139f8..402dee17 100644
--- a/.cursor/rules/roblox/common/navigation/monetize.yaml
+++ b/.cursor/rules/roblox/common/navigation/monetize.yaml
@@ -46,19 +46,15 @@ navigation:
path: /ip-licensing/glossary
- title: Advertise
- path: /production/promotion/ads-manager
+ path: /production/promotion/advertise
section:
- title: Ads Manager
path: /production/promotion/ads-manager
- - title: Reporting and billing
- path: /production/promotion/reporting-and-billing
- title: Roblox-served ads vs. independent ads
path: /production/promotion/advertise-on-roblox
- title: Immersive ads
path: /production/monetization/immersive-ads
- title: Rewarded video ads
path: /production/promotion/rewarded-video-ads
- - title: Search ads
- path: /production/promotion/search-ads
- title: Advertising standards
path: /production/promotion/comply-with-advertising-standards
diff --git a/.cursor/rules/roblox/en-us/art/accessories/caging-best-practices.md b/.cursor/rules/roblox/en-us/art/accessories/caging-best-practices.md
index fef5dda8..8e34e161 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/caging-best-practices.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/caging-best-practices.md
@@ -3,7 +3,7 @@ title: Caging best practices
description: In-depth description and images of various caging best practices for layered clothing.
---
-
+
Caging is a complex process required to define the inner and outer surface of a layered clothing item. Properly caged assets allow your clothing items to stretch and layer in combination with each other. Cages that are improperly configured can lead to cosmetic issues with the look and feel of your clothing item.
diff --git a/.cursor/rules/roblox/en-us/art/accessories/clothing-specifications.md b/.cursor/rules/roblox/en-us/art/accessories/clothing-specifications.md
index 074cfcbd..f3fc717b 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/clothing-specifications.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/clothing-specifications.md
@@ -174,7 +174,7 @@ Assets with invalid cage configurations may fail validation and are subject to m
For a basic overview on caging, see the [Basic Clothing Tutorial](../accessories/creating/caging-setup.md) and the relevant section of the tutorial video at [8:32](https://www.youtube.com/watch?v=C-DwGRBHvmE&t=512s):
-
+
#### Inner Cage
diff --git a/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/index.md b/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/index.md
index 4f1e0719..294b181f 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/index.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/index.md
@@ -4,7 +4,7 @@ description: This tutorial covers the basic steps required to publish a custom a
next: /art/accessories/creating-rigid/modeling-setup
---
-
+
Rigid accessories are 3D objects that users can equip to their avatar characters in an experience or through Roblox's [Marketplace](https://www.roblox.com/catalog) and [Avatar Editor](https://www.roblox.com/my/avatar).
diff --git a/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/publishing.md b/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/publishing.md
index af7e3823..9dbe8abc 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/publishing.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/creating-rigid/publishing.md
@@ -41,6 +41,6 @@ You can check your accessory's moderation status in the [Creator Hub](https://cr
After moderation completes, your item's publishing details become available to edit and enable for sale. See the following for an overview on the various sale options available:
-
+
After listing an asset to the Marketplace, you can return to this page to edit your item's sale details, or take the item offsale.
diff --git a/.cursor/rules/roblox/en-us/art/accessories/creating/index.md b/.cursor/rules/roblox/en-us/art/accessories/creating/index.md
index f2634801..fb3a3ae1 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/creating/index.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/creating/index.md
@@ -4,7 +4,7 @@ description: This tutorial covers the basic steps required in Blender to Studio-
next: /art/accessories/creating/modeling-setup
---
-
+
You can create your own custom avatar clothing using Blender and Roblox's downloadable project templates. These project templates include [components required for layered clothing](../../../art/accessories/layered-clothing.md#components-of-a-layered-clothing-accessory), and can double as a mannequin to quickly begin shaping and sculpting your clothing assets. By the end of this tutorial, you will have a clothing asset that contains all the required components for a layered clothing accessory on the Marketplace.
diff --git a/.cursor/rules/roblox/en-us/art/accessories/from-existing.md b/.cursor/rules/roblox/en-us/art/accessories/from-existing.md
index 1a1b758d..b48de931 100644
--- a/.cursor/rules/roblox/en-us/art/accessories/from-existing.md
+++ b/.cursor/rules/roblox/en-us/art/accessories/from-existing.md
@@ -187,7 +187,7 @@ After generating your `Class.Accessory` item, you can now begin the process of *
For additional information and instructions on this process, see [uploading and publishing instructions](../../marketplace/publish-to-marketplace.md).
-
+
You now have your accessory added to the Marketplace catalog! Use the item's Marketplace link to view your listing at any time, or to send to your connections and followers for additional engagement.
diff --git a/.cursor/rules/roblox/en-us/art/characters/facial-animation/index.md b/.cursor/rules/roblox/en-us/art/characters/facial-animation/index.md
index 640f6aba..d96dfd55 100644
--- a/.cursor/rules/roblox/en-us/art/characters/facial-animation/index.md
+++ b/.cursor/rules/roblox/en-us/art/characters/facial-animation/index.md
@@ -20,6 +20,15 @@ When creating heads intended for the Marketplace, ensure that your head meets Ro
Using third-party modeling tools, you can either modify a rigged character model to meet head requirements, or create a head from scratch. For step-by-step instructions on how to add face bones, apply skinning, posing, and mapping poses on a head model in Blender, see [Create basic heads](../../../art/characters/facial-animation/create-basic-heads.md). This guide includes several reference files you can use to compare and track your progress.
+### Resources
+
+Heads designated for the Marketplace require specific components to ensure universal support across Roblox's platform. Heads are often the most complex part of an avatar character. Use the following docs to best equip your assets to pass validation and work well with other assets:
+
+- Understand how Roblox tests facial animations in the [validation process](../head-validation.md) and learn common issues that you can self-resolve.
+- Similar to character bodies and clothing, Marketplace heads must also follow [Roblox's specifications](../head-specifications.md).
+- Ensure that you are following Roblox's [head caging best practices](../face-caging-best-practices.md) to ensure the best results for clothing, validation, and makeup.
+- Use the [FACS poses reference](../../../art/characters/facial-animation/facs-poses-reference.md) when posing and mapping your head.
+
## Create face accessories
Similar to creating heads, you can design and model face accessories using a third-party modeling software and import the models as a cosmetic `Class.Accessory` in Studio. When created correctly, equipped accessories stretch and deform as the head animates and emotes.
@@ -36,7 +45,3 @@ If you're interested in animating a head, for use in-experience or to further te
-
-## Additional resources
-
-Heads are often the most complex part of an avatar character. Ensure that you are following Roblox's [head caging best practices](../face-caging-best-practices.md) and verify your FACS poses using the [FACS poses reference](../../../art/characters/facial-animation/facs-poses-reference.md).
diff --git a/.cursor/rules/roblox/en-us/art/characters/head-comparison.md b/.cursor/rules/roblox/en-us/art/characters/head-comparison.md
index f567ee36..4d601909 100644
--- a/.cursor/rules/roblox/en-us/art/characters/head-comparison.md
+++ b/.cursor/rules/roblox/en-us/art/characters/head-comparison.md
@@ -5,68 +5,308 @@ description: The Avatar Validation Tool checks for common character model issues
The following table compares the classic decals with the dynamic head equivalent.
+
| Asset Name | -Classic | +Dynamic | ||
|---|---|---|---|---|
| **:3** | ||||
| **Angelic** | ||||
| **Bacon Face** | ||||
| **Bandage** | ||||
| **Beast Mode** | ||||
| **Bling** | ||||
| **Blue Eyeroll** | ||||
| **Blue Galaxy Gaze** | ||||
| **Blue Rock Star Smile** | ||||
| **Camoface** | ||||
| **Cat Eye - Zara Larsson** | ||||
| **Classic Vampire** | ||||
| **Country Morning** | ||||
| **Crimson Laser Vision** | ||||
| **Crimson Starface** | ||||
| **Daring Beard** | ||||
| **Devil Nas X - Lil Nas X LNX** | ||||
| **\$.\$** | ||||
| **Drooling Noob** | ||||
| **Emerald Archfey Visage** | ||||
| **Emerald Laser Vision** | ||||
| **Emperor** | ||||
| **Finn McCool** | ||||
| **Friendly Grin** | ||||
| **Golden Bling Braces** | ||||
| **Golden Lightning Speaker** | ||||
| **Golden Shiny Teeth** | ||||
| **Green Amazeface** | ||||
| **Green Drool Angry Zombie** | ||||
| **Green Glowing Eyes** | ||||
| **Green Ultimate Dragon Face** | ||||
| **Green Whatchoo Talkin Bout** | ||||
| **Its Go Time** | ||||
| **Madbot 10000** | ||||
| **Mr Bubbles** | ||||
| **Optimist** | ||||
| **Paintball Enthusiast** | ||||
| **Pieface Jellyfreckles** | ||||
| **Poisonous Beast Mode** | ||||
| **Prankster** | ||||
| **Puck** | ||||
| **Purple Trance** | ||||
| ****Raig Face**** | ||||
| ****Really Embarrassed**** | ||||
| ****Red Glowing Eyes**** | ||||
| ****Red Lip - Tate McRae**** | ||||
| ****Rudolph**** | ||||
| ****Sad Clown**** | ||||
| ****Sapphire Laser Vision**** | ||||
| ****Squiggle Mouth**** | ||||
| ****Super Happy Joy**** | ||||
| ****Teal Rock Star Smile**** | ||||
| **The Dog Whisperer** | ||||
| **The First Time I Ever Played ROBLOX** | ||||
| **Torque the Green Orc** | ||||
| **Trance** | ||||
| **Troublemaker** | ||||
| **\$.\$** | ||||
| **-_-** | ||||
| **8-Bit Heart Face** | ||||
| **:-/** | ||||
| **:-[** | ||||
| **:-o** | ||||
| **:/** | ||||
| **:3** | ||||
| **:]** | ||||
| **:D** | ||||
| **:P** | ||||
| **=)** | ||||
| **>:3** | ||||
| **>_<** | ||||
| **^_^** | ||||
| **Adorable Puppy** | ||||
| **Alien** | ||||
| **Alien Ambassador** | ||||
| **Alright** | ||||
| **Amelia Face** | ||||
| **And then we'll take over the world!** | ||||
| **Angry Zombie** | ||||
| **Anguished** | ||||
| **Anime Surprise** | ||||
| **Award-Winning Smile** | ||||
| **Awesome Face** | ||||
| **Awkward Eyeroll** | ||||
| **Awkward Grin** | ||||
| **Awkward....** | ||||
| **Bad Dog** | ||||
| **Beaming with Pride** | ||||
| **Beast Mode** | ||||
| **Big Grin - Tai Verdes** | ||||
| **Big Sad Eyes** | ||||
| **BiteyMcFace** | ||||
| **Blerg!** | ||||
| **Blinky** | ||||
| **Blizzard Beast Mode** | ||||
| **Blue Amazeface** | ||||
| **Blue Bubble Trouble** | ||||
| **Blue Goof** | ||||
| **Blue Rock Star Smile** | ||||
| **Blue Starface** | ||||
| **Blue Starry Sight** | ||||
| **Blue Ultimate Dragon Face** | ||||
| **Bluffing** | ||||
| **Bombo Face** | ||||
| **Bored** | ||||
| **Braces** | ||||
| **Bubble Trouble** | ||||
| **Butterfly Wink - Lil Nas X (LNX)** | ||||
| **Cat Eye - Zara Larsson** | ||||
| **Check It** | ||||
| **Cheerful Grin** | ||||
| **Cheerful Hello** | ||||
| **Chill** | ||||
| **Chill McCool** | ||||
| **Chubs** | ||||
| **City Life Man - Face** | ||||
| **City Life Woman - Face** | ||||
| **Claire's Face** | ||||
| **Classic Alien Face** | ||||
| **Classic Female - Face** | ||||
| **Classic Female v2 - Face** | ||||
| **Classic Goof** | ||||
| **Classic Male - Face** | ||||
| **Classic Male v2 - Face** | ||||
| **Classic Vampire** | ||||
| **Commando** | ||||
| **Concerned** | ||||
| **Crazy Happy** | ||||
| **Crazybot 10000** | ||||
| **Crimson Evil Eye** | ||||
| **Cuckookrazybot 10000** | ||||
| **Cute Kitty** | ||||
| **Cutiemouse** | ||||
| **D:** | ||||
| **D=** | ||||
| **Daring** | ||||
| **Daring Beard** | ||||
| **Demented Mouse** | ||||
| **Desert Commando** | ||||
| **Devil Nas X - Lil Nas X (LNX)** | ||||
| **Devilish Smile - 24kGoldn** | ||||
| **Dex's Face** | ||||
| **Diamond Grill - Lil Nas X (LNX)** | ||||
| **Disbelief** | ||||
| **Dizzy Face** | ||||
| **Downcast** | ||||
| **Drill Sergeant** | ||||
| **Drool** | ||||
| **Drooling Noob** | ||||
| **Emerald Evil Eye** | ||||
| **Err...** | ||||
| **Exclamation Face** | ||||
| **eXtreme** | ||||
| **Eyes of Everflame** | ||||
| **Eyes of Everfrost** | ||||
| **Fang** | ||||
| **Fast Car** | ||||
| **Fearless** | ||||
| **Finn McCool** | ||||
| **Freckles** | ||||
| **Friendly Cyclops** | ||||
| **Friendly Grin** | ||||
| **Friendly Pirate** | ||||
| **Friendly Smile** | ||||
| **Ghostface** | ||||
| **Gigglypuff** | ||||
| **Glee** | ||||
| **Glittering Eye - Zara Larsson** | ||||
| **Glory on the Gridiron** | ||||
| **Gold Mermaid Visage** | ||||
| **Golden Evil Eye** | ||||
| **Golden Eyes - 24kGoldn** | ||||
| **Golden Shiny Teeth** | ||||
| **Good Intentioned** | ||||
| **Goofball** | ||||
| **Green Amazeface** | ||||
| **Green Bubble Trouble** | ||||
| **Green Goof** | ||||
| **Green Starface** | ||||
| **Green Starry Sight** | ||||
| **Green Trance** | ||||
| **Green Ultimate Dragon Face** | ||||
| **Green Wistful Wink** | ||||
| **Green-eyed Awesome Face** | ||||
| **Gritty Bombo** | ||||
| **Grr!** | ||||
| **Happy :D** | ||||
| **Happy Girl Face** | ||||
| **Happy Wink** | ||||
| **Heeeeeey...** | ||||
| **Hilarious** | ||||
| **Hmmm...** | ||||
| **Hold It In** | ||||
| **Huh?** | ||||
| **Hut Hut Hike!** | ||||
| **Hypnoface** | ||||
| **I <3 New Site Theme** | ||||
| **I Am Not Amused** | ||||
| **I Didn't Eat That Cookie** | ||||
| **I Hate Noobs** | ||||
| **I wuv u** | ||||
| **It's Go Time!** | ||||
| **Jack Frost Face** | ||||
| **Joyful Smile** | ||||
| **Joyous Surprise** | ||||
| **Just Trouble** | ||||
| **Know-It-All Grin** | ||||
| **Krezak - Face** | ||||
| **Lady Lashes** | ||||
| **Laughing Fun** | ||||
| **Lavender Amazeface** | ||||
| **Lazy Eye** | ||||
| **Lightning Speaker** | ||||
| **Lin's Face** | ||||
| **Look At My Nose** | ||||
| **Love** | ||||
| **Manicbot 10000** | ||||
| **Manlier Face** | ||||
| **McLaren Big Grin** | ||||
| **Meanie** | ||||
| **Meow?** | ||||
| **Monarch Butterfly Smile** | ||||
| **Monster Face** | ||||
| **Monster Smile** | ||||
| **Mr. Toilet - Face** | ||||
| **Mysterious** | ||||
| **Neoclassic Male v2 - Face** | ||||
| **Nervous** | ||||
| **NetHack Addict** | ||||
| **Not sure if...** | ||||
| **Nouveau George** | ||||
| **O.o** | ||||
| **O_o** | ||||
| **Obvious Wink** | ||||
| **Oh Deer** | ||||
| **Old Timer** | ||||
| **Orange Starface** | ||||
| **Overjoyed Smile** | ||||
| **Pink Galaxy Gaze** | ||||
| **Pink Mermaid Princess** | ||||
| **Pink Shades McCool** | ||||
| **Pink Wistful Wink** | ||||
| **Poisonous Beast Mode** | ||||
| **Prideful Smile** | ||||
| **Puck** | ||||
| **Pumpkin Face** | ||||
| **Punk Face** | ||||
| **Purple Bubble Trouble** | ||||
| **Purple Butterfly Smile** | ||||
| **Purple Mermaid Princess** | ||||
| **Purple Moonstruck** | ||||
| **Purple Wistful Wink** | ||||
| **Pwnda Face** | ||||
| **Radioactive Beast Mode** | ||||
| **Raig Face** | ||||
| **RAWR!** | ||||
| **Red Goof** | ||||
| **Red Lip - Tate McRae** | ||||
| **Red Ultimate Dragon Face** | ||||
| **Red White and Starface** | ||||
| **Retro Smiley** | ||||
| **ROAR!!!** | ||||
| **Robot Smile** | ||||
| **Rodeo Vampire - Lil Nas X (LNX)** | ||||
| **Rogueish Good Looks** | ||||
| **Rose Amazeface** | ||||
| **Ruby Archfey Visage** | ||||
| **Sad** | ||||
| **Sadfaic** | ||||
| **Sapphire Evil Eye** | ||||
| **Scarecrow** | ||||
| **Scarecrow Face** | ||||
| **Secret Service** | ||||
| **Semi Colon Open Paren** | ||||
| **Serena’s Face** | ||||
| **Serious Scar Face** | ||||
| **Sharpnine's Face of Disappointment** | ||||
| **Shocked** | ||||
| **Sick Day** | ||||
| **Sigmund** | ||||
| **Silence** | ||||
| **Silly Fun** | ||||
| **Silver Punk Face** | ||||
| **Singing** | ||||
| **Sinister** | ||||
| **Slickfang** | ||||
| **Slithering Smile** | ||||
| **Sly Guy Face** | ||||
| **Smil Nas X - Lil Nas X (LNX)** | ||||
| **Smiling Girl** | ||||
| **Smith McCool** | ||||
| **Smug** | ||||
| **Sneaky Steve** | ||||
| **Sniffles** | ||||
| **So Funny** | ||||
| **So Super Excited - Blue** | ||||
| **So Super Excited - Pink** | ||||
| **Sparkle Time Sparkle Eyes** | ||||
| **Spring Bunny** | ||||
| **Square Eyes** | ||||
| **Squiggle Mouth** | ||||
| **Squinty Assassin Face** | ||||
| **Stare** | ||||
| **Starface** | ||||
| **Stink Eye** | ||||
| **Stitchface** | ||||
| **Sunny Fun** | ||||
| **Sunrise Eyes - Tai Verdes** | ||||
| **Super Happy Joy** | ||||
| **Suspicious** | ||||
| **Sweat It Out** | ||||
| **Tango** | ||||
| **The Big Dog** | ||||
| **The Friendly Eviscerator** | ||||
| **The Winning Smile** | ||||
| **Thinking** | ||||
| **Tiger Chase Fear Face** | ||||
| **Tired Face** | ||||
| **Tohru: The Phantom Claw's Face** | ||||
| **Too Much Candy** | ||||
| **Toothless** | ||||
| **Toothy Grin** | ||||
| **Torque the Blue Orc** | ||||
| **Torque the Green Orc** | ||||
| **Uh Oh** | ||||
| **Up To Something** | ||||
| **Vampire** | ||||
| **Vans Checkerboard Blue Eyes** | ||||
| **Violet Fang** | ||||
| **Violet Starry Sight** | ||||
| **Visual Studio Seized Up For 45 Seconds... Again** | ||||
| **Walk the Plank You Scurvy Dogs!** | ||||
| **WHAAAaaa!** | ||||
| **Whistle** | ||||
| **Wink-Blink** | ||||
| **Winky** | ||||
| **Winning Smile** | ||||
| **Woman Face** | ||||
| **Wonder Woman's Golden Armor - Face** | ||||
| **XD** | ||||
| **XD 2.0** | ||||
| **Xtreme Happy** | ||||
| **YAAAWWN.** | ||||
| **Yawn** | ||||
| **Yellow Starface** | ||||
| **You ated my caik!** | ||||
| **Zoey Face** | ||||
| **Zombie Face** | ||||
| **¬_¬** | ||||
| **¬_¬ 2.0** | ||||
| Issue | +Potential fixes | +
|---|---|
| The validation tool is **unable to successfully apply landmarks**. See [Unable to project landmarks](#unable-to-project-landmarks). |
+ - Verify that the **cage landmark vertices are positioned directly over the corresponding areas of the face**. - Verify that the **cage is not intersecting with the head mesh**. Landmark projection expects the cage to be over the head mesh. - **Check for any gaps, holes, or difficult surfaces** of the face where landmarks can fail to project. |
+
| The validation tool is able to apply landmarks, but **can not detect animation**. See [Animations not displacing landmarks](#animations-not-displacing-landmarks). |
+ - Verify that **landmarks are on the areas of the eyes and mouth that move during animation**. - Verify that the **cage is not intersecting with the head mesh**. Landmark projection expects the cage to be over the head mesh. - **If using separate meshes for eyeballs and mouthbags**, ensure that your landmarks are applied to the head mesh, not the eyeballs or mouthbag. This can be achieved by slightly widening the area where your cages project landmarks. |
+
| The validation tool doesn't detect [FACS animations](#animation-data-missing). | +- Your head doesn't include FACS animation. Verify that your head includes FACS poses and mapping. | +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3. Copy and paste one of the following code snippets into a server `Class.Script` within `Class.ServerScriptService`, depending on the object type you'd like to generate.
+
+ {content.description}
diff --git a/.cursor/rules/roblox/en-us/production/analytics/acquisition.md b/.cursor/rules/roblox/en-us/production/analytics/acquisition.md index 8aeb973e..1841ca1e 100644 --- a/.cursor/rules/roblox/en-us/production/analytics/acquisition.md +++ b/.cursor/rules/roblox/en-us/production/analytics/acquisition.md @@ -64,15 +64,15 @@ Here's a list of all the available acquisition sources:
-| **Plays** | +Reach the players most likely to stay engaged with your experience. | +
| (Coming soon) **Earnings** | +Reach the players most likely to spend money inside your experience. | +
| **All Players** | +Show ad to all players, regardless of their past activity. | +
| **New Players** | +Show ad to players who have never played your experience, or who haven’t played it in 180+ days. | +
| **Recent Players** | +Show ad to players who have played your experience in the last 30 days. Only available for experiences with 10,000 recent players or more. | +
| **Lapsed Players** | +Show ad to players who played your experience 30 to 180 days ago but haven’t returned. Only available for experiences with 20,000 lapsed players or more. | +
-
-4. Choose a **Daily Budget** or **Lifetime Budget** for your campaign.
-5. Choose the length of your campaign.
-
- - End dates are required for any campaign funded by ad credits.
- - End dates are optional for daily budgets with debit and credit cards. If you don't set an end date, the campaign runs indefinitely using the daily budget.
-
-6. Enter a name for your campaign.
-7. Click **Next**.
-
-### Define an ad set
-
-Ad sets are a group of ads within a campaign that share the same targeting and bidding parameters. When defining an ad set, you can customize the following three categories to meet the needs of your respective campaign goals:
-
-- **Audience settings**: Choose who sees your ad based on their geographical location, gender, age, and what device they're playing on.
-- **Ad placement**: Determine where your ads are discoverable on the platform, such as in search results or within experiences.
-
-To define an ad set:
-
-1. Choose up to 10 regions or countries you want your ad to appear in. When you target a region, you automatically target every country within that region.
-
-
-
-2. Determine the gender and age range of the players you want to see your ads, as well as which devices you want your ads to appear on. Certain options might not be available in some locations.
-3. Select where you want to place your ads according to your campaign objective.
-
- - For a **visits campaign objective**, choose between a sponsored experience on the Home page or an in-experience portal within an experience.
- - For an **awareness campaign objective**, choose between an in-experience video or image.
-4. Choose which genres you want to target with your ads.
-
- - For sponsored experiences, this represents the genre interests of your audience.
- - For immersive ads, this represents the genre of the experiences your ads are displayed in.
-
-5. Determine a max bid price to show your ads to players through the available ad units placed in experiences. Bids are reflected as CPM (cost-per-thousand impressions), meaning that your max bid for CPM is the maximum amount you're willing to pay for every thousand impressions.
-6. Enter a name for your ad set.
-7. Click **Next**.
-
-To maximize your advertising reach and use both in-experience portals and sponsored experiences within the same campaign, consider creating an additional ad set. This flexibility enables you to experiment with different ad strategies and optimize your campaign's performance.
-
-
-
-To create an image ad:
-
-1. Click **Upload file** and select the image you want to use for the ad.
-2. Preview the image by clicking the expanding arrows over the image thumbnail. You can also click **Live Preview** to see the image ad like a player would.
-3. Enter a name for your ad.
-4. Click **Next**.
-
-
-
-| Changeable | -Fixed | +**Changeable** | +**Fixed** |
|---|---|---|---|
| Campaign name | -Campaign objective | +Goal | |
| Campaign end and start dates | -Campaign budget type | +Budget amount | +Audience |
| Campaign budget amount | -Ad set bid type | +Schedule | +Budget type |
| Ad set bid amount | -Ad set targeting parameters | -||
| Ad set name | -- | ||
| Ad name | -- | ||
| Ad type | +Creatives |
| **Metric card** | +**Description** | +
|---|---|
| **Amount Spent** | +The total amount of ad credits you have spent on all ad campaigns for the selected experience. | +
| **Impressions** | +The total number of times all ads associated with the selected experience were shown to players. | +
| **Plays** | +The total number of times players entered and started playing your experience as a result of all ads associated for the selected experience. | +
| **7D Playtime** | +An estimate of the total time players spent in your experience over the last 7 days after converting through ads associated with the selected experience. | +
+
+The reporting table includes:
+
+| **Field** | +**Description** | +
|---|---|
| **Campaign** | +The name of the ad campaign. Campaigns with auto-reload enabled display an auto-reload icon next to the name. | +
| **Off/On** | +A toggle indicating if the ad campaign is active or paused. | +
| **Status** | +The status of the ad campaign. See the [Status](#status) table for more details. | +
| **Spent** | +The total amount of USD or ad credits you have spent on the campaign. | +
| **Impressions** | +The number of times your ad was shown to players. | +
| **Clicks** | +The number of times players clicked on your ad on the Home and Search pages. | +
| Plays | +The number of times players entered and started playing your experience as a result of the ad. | +
| **CPP (Cost-per-play)** | +The average cost per play, calculated by dividing your total campaign spend by the number of plays. | +
| **7D Playtime** | +An estimate of how much time players spent in your experience over the last 7 days after converting through an ad. | +
| **30D Robux Earnings** | +An estimate of your total Robux earned over the past 30 days, based on players who converted through an ad during the selected date range. Excludes subscriptions, engagement payouts, and immersive ads. | +
+
+### Status
+
+| **Status** | +**Description** | +
|---|---|
| **In Review** | +Campaign has been created and will be reviewed within 24 hours. | +
| **Moderated** | +Campaign has been moderated. This status includes a reason for the moderation. | +
| **Active** | +Campaign is active and running as expected. | +
| **Learning** | +The first 24 hours of an active campaign. During this time, the system continuously learns from engagement data to refine budget allocation. | +
| **Scheduled** | +Campaign is scheduled to run at a future date. | +
| **Inactive** | +Campaign is inactive. | +
| **Completed** | +Campaign has reached its goal or end date. | +
| **Auto-Completed** | +Campaign was stopped by the system after a period of time. | +
| **Canceled** | +Campaign was manually stopped and removed from serving ads. | +
| **Error** | +Campaign status can't be shown due to system error. | +
| **Rejected** | +Campaign failed moderation review. | +
{section.description}
+ )} + {section.buttons && section.buttons.map((button, btnIndex) => ( + + ))} +{section.description}
+| - | + | + |
| Field | +Type | +Description | +
|---|---|---|
Id |
+ number | +The unique identifier of the item. | +
ItemType |
+ string | +The type of item: "Asset" or "Bundle". Corresponds to Enum.AvatarItemType. |
+
AssetType |
+ string | +The asset type. Corresponds to Enum.AvatarAssetType values (e.g., "Hat", "Shirt"). Only present if ItemType is "Asset". |
+
BundleType |
+ string | +The bundle type. Corresponds to Enum.BundleType values (e.g., "BodyParts", "Animations"). Only present if ItemType is "Bundle". |
+
Name |
+ string | +The display name of the item. | +
Description |
+ string | +The item's description text. | +
ProductId |
+ number | +The product ID associated with this item. | +
ItemStatus |
+ array | +An array of status strings (e.g., "New", "Sale", "XboxExclusive", "AmazonExclusive"). |
+
ItemRestrictions |
+ array | +An array of restriction strings. See the itemRestrictions table below. |
+
| Field | +Type | +Description | +
|---|---|---|
BundledItems |
+ array | +An array of items contained in the bundle. Only present if ItemType is "Bundle". Each entry contains: |
+
| + | Id: The unique identifier of the bundled item. |
+ |
| + | Name: The display name of the bundled item. |
+ |
| + | Type: The type of the bundled item (e.g., "Asset"). |
+ |
| + | AssetType: The asset type as an integer. Corresponds to Enum.AvatarAssetType. |
+ |
| + | Owned: Whether the bundled item is owned by the current user. Only present in Class.AvatarEditorService:GetItemDetailsAsync(). |
+ |
IsRecolorable |
+ boolean | +Whether the bundle supports skin tone matching. Only applies to BodyParts and DynamicHead bundles. | +
| Field | +Type | +Description | +
|---|---|---|
CollectibleItemId |
+ string | +The unique item ID of the collectible. | +
TotalQuantity |
+ number | +The total quantity of the collectible available for purchase (not resale). | +
UnitsAvailableForConsumption |
+ number | +The number of units available for purchase. Only applies to Limited items with remaining stock. | +
QuantityLimitPerUser |
+ number | +Maximum number of the same collectible item a user can own. | +
HasResellers |
+ boolean | +true when item is a Limited collectible and there are copies available for resale. |
+
OffSaleDeadline |
+ string | +The date/time when the item goes off sale. | +
| Field | +Type | +Description | +
|---|---|---|
Price |
+ number | +The price in Robux. 0 if free or not for sale. |
+
PremiumPricing |
+ table | +Premium pricing information. Contains the following fields: | +
| + | PremiumDiscountPercentage: The discount percentage for Premium members. |
+ |
| + | PremiumPriceInRobux: The discounted price in Robux for Premium members. |
+ |
LowestPrice |
+ number | +The lowest resale price for Limited items. | +
LowestResalePrice |
+ number | +The lowest resale price for the collectible in Robux. | +
PriceStatus |
+ string | +The price status (e.g., "Free", "Off Sale", "No Resellers"). |
+
SaleLocationType |
+ string | +The type of sale location setting. See SaleLocationType values below. |
+
PurchaseCount |
+ number | +The total number of times this item has been purchased. | +
FavoriteCount |
+ number | +The total number of users who have favorited this item. | +
| Field | +Type | +Description | +
|---|---|---|
CreatorType |
+ string | +Either User or Group. See Enum.CreatorType. |
+
CreatorTargetId |
+ number | +The ID of the creator user or group. | +
CreatorName |
+ string | +The display name of the creator. | +
CreatorHasVerifiedBadge |
+ boolean | +Boolean of whether the creator has a verified badge. | +
| Field | +Type | +Description | +
|---|---|---|
Owned |
+ boolean | +Whether the item is owned by the current user. | +
IsPurchasable |
+ boolean | +Whether the item can be purchased by the current user. | +
ExpectedSellerId |
+ number | +The user ID of the lowest private seller if resellable, or the creator's target ID otherwise. Used when calling purchase APIs. | +
CreatingUniverseId |
+ number | +If this asset was created in an experience, this is the universe ID where it was created. nil if not an in-experience creation. |
+
Enum.HttpCompression.None or Enum.HttpCompression.Gzip.TimeoutInteger
+
+
+
+