Dynamic Head Upload Fails Due to "Asset Name Length" Error Despite Valid Name Length

When attempting to upload a user-created dynamic head as part of a character bundle in Roblox Studio, the submission process fails with the error:
PublishService::CreateAsset failed. Error: {"code":"INVALID_ARGUMENT","message":"Asset name length is invalid."}
This happens even though the asset name is within the documented character limit (49 characters out of the 50 allowed).
Notably, the initial upload UI accepts the asset name, allowing the user to click “Submit for 750 Robux” without warning. However, after submission, the error occurs, preventing the asset from being uploaded.

It appears that while the initial bundle’s name length is acceptable, an internal dependency (such as the dynamic head sub-asset) may cause a validation failure due to name length, even though the system previously allowed the user to proceed.

This inconsistency is very frustrating as it wastes time and misleads the user into thinking the asset is valid until after submission.

Expected Behavior:

If the asset name is within the allowed limit (≤50 characters), the upload should succeed without errors.

Additionally, if there is a hidden validation limit (e.g., on sub-assets like heads within bundles), it should be clearly enforced at the initial validation stage before allowing the user to submit.

Actual Behavior:

The user is allowed to proceed through initial validations and click “Submit for 750 Robux.”
However, after submission, an error occurs stating “Asset name length is invalid,” even though the asset name length is valid (49 characters).

No Robux is deducted, but the submission fails and the user must shorten the asset name even further to successfully upload, despite it already being within official limits.

Reproduction Steps:

  1. Log in to Roblox Create.
  2. Navigate to your experience and click “Edit in Studio.”
  3. In Roblox Studio, import a character bundle of your choice.
    (If you do not have a bundle ready, you can use the official template characters from this link:
    Roblox Character Templates.
    Select “Realistic” → download “SemiRealisticMale” → open the .blend file in Blender, then export it as .fbx for use in Roblox Studio.
  4. Use the “Import 3D” feature in Studio to import the .fbx model.
  5. Set up the dynamic head by properly adjusting head attachment positions and correcting any technical validation errors.
  6. Right-click the bundle in the Explorer window and choose “Save to Roblox.”
  7. For “Asset Type,” select “Avatar Item,” and for “Asset Category,” select “Head.”
  8. Ensure validation passes successfully.
  9. Set the asset name to something long but within the 50 character limit — for example:
    “Cute and Trendy Preppy Makeup Face (Customizable)” (49 characters)
  10. Fill in a description, then click “Submit for 750 Robux.”
  11. Observe that after submission, the error will appear:
    PublishService::CreateAsset failed. Error: {"code":"INVALID_ARGUMENT","message":"Asset name length is invalid."}

Visual Evidence:


1 Like

Thank you for the report. This is an acknowledgement message. We have assigned this to our team for further review.

This happens because it automatically creates a dependency that adds “- Dynamic Head” on it, which counts towards the character limit.

1 Like

Yes, I mentioned this in my original post, but the current system still seems inconsistent. Although the asset name is within the 50-character limit and initially accepted by the UI, the submission fails due to a backend validation—likely because the name is propagated into sub-assets like the dynamic head, exceeding internal limits.

As a result, we’re forced to use a shorter name up front just to avoid this error, even though the longer intended name is allowed later. This adds unnecessary extra work.

If abbreviation is required due to internal constraints, the system could handle it automatically—for example, by truncating dependency names with an ellipsis. I just wanted to point out this inconsistency and the redundant effort it creates during submission.

1 Like

I’m getting this error when uploading all my bundles, sometimes it doesn’t upload even though it’s about 39 characters long

I just realized something that makes this issue even more confusing: after uploading a bundle with a short name (since longer names fail with the “Asset name length is invalid” error), I can go to the website and rename it to a longer name—including the original one that failed during upload. When I do this, the dynamic head dependency also updates its name accordingly—matching the new bundle name—and the system accepts it without any issues.

So clearly, the long name is valid post-upload, and Roblox even handles it by truncating the display name with an ellipsis if needed. This makes the initial validation during upload feel pointless.

As you can see, when I set the long name back on the bundle, Roblox automatically updated the dependency’s name to match and added an ellipsis at the end. This is the expected behavior, and it shouldn’t throw an error during upload—this kind of name shortening already exists in the system, so they could have just applied it there as well.