Skip to main content
flarb
Up and Coming
February 26, 2025
Solved

Spawn failed due to spawning CMI asset in primitive world...but what's considered a primitive?!

I don't get it--I've deleted and replaced every single primitive with trimesh. But when I try and spawn one of my CMI assets I get this error:

[User] Spawn ball failed with error: Spawn failed due to containing content unauthorized for this world (likely for spawning CMI asset in a primitive world or vice versa)...

Ball spawns an asset I made with trimesh.

What is considered a primitive? I replaced every single mesh in the world with custom tri mesh...I do have text gizmos. Is that considered a primitive? Or does it not matter that I removed them all and once a primitive ever existed in your world its cursed to be determined to be a primitive world?? I just don't get it.

I wish it would tell me which primitives are still in the scene, but as far as I can tell there are none!

Also will this restriction of not being able to mix and match trimesh with primitives ever going to be resolved? It's a HUGE productivity drain to have to use custom geometry even if you just need a simple box somewhere.

PigeonNo12
Honored Contributor
February 27, 2025

Ok, confirming that the world is still a primitives world helps to understand the full context. The problem is not that you have primitives assets, but that the CMI objects are in a primitive world.

The solution does require using the VR Headset since some of the following options are not available yet in the Desktop Editor:

1) Create a new empty CMI world

2) Enter the new CMI world in VR, and delete the spawn point

3) In the empty CMI world, open your wrist menu (while in preview mode), go to the creations tab, and find the primitives world

4) Once you find it, open its details (the little i button), and then click on the 3 dots next to "Edit world"

5) In that menu, select Import world

6) In the options to import, select "Replace all" and click Next

7) Then select what you want to bring from the prim world (leaderboards, quests....) and select Next

Finally, click Start Import. This will start the import process and you will get kicked out. But then after a few seconds (depending on how complex is the world) you should be able to go back to the new CMI world and all your assets should be there.

Note: there are rare scenarios when this will cause the CMI world to turn into a primitives world (I know, it's confusing). If this happens, try again but in step number 6) instead of selecting "Replace all" select "Merge into".

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours

14 replies

PigeonNo12
Honored Contributor
February 26, 2025

The Desktop Editor has a very useful feature for this scenario. The hierarchy filters (on the left side) let you select select the entity property (sub-D or trimesh) so you can easily find if there are any remaining primitives in the world.

 

---

Also will this restriction of not being able to mix and match trimesh with primitives ever going to be resolved?

---

When CMI (trimesh) was initially released it was possible to mix primitives and trimesh, but it was causing a lot of performance issues and low FPS. So it's unlikely that the platform will allow mixing both again.

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours
flarb
flarbAuthor
Up and Coming
February 26, 2025

How do I use this to find primitives? Are sub-d objects also primitives? I see no sub-d objects in my scene using this filter method.

@flarb
PigeonNo12
Honored Contributor
February 26, 2025

Correct, sub-d are what we normally refer as the type of primitive objects that cause conflicts with CMI worlds. When using the filter option of the Desktop Editor, you should see something like the image below:

If that filtered list is empty for you, then the problem is different. 

When you open the build menu, do you see a pink message saying that you are in a CMI world? Also, what about the assets that you are spawning in, do they contain sub-D assets?

 

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours
flarb
flarbAuthor
Up and Coming
February 26, 2025

The thing I'm spawning in has no sub-d assets. Where's this build menu on the desktop editor? I'm not sure I see this menu in the screenshot anywhere.

@flarb
PigeonNo12
Honored Contributor
February 26, 2025
The message appears when opening the build menu in VR, either by clicking the "Switch to VR" button on the top corner of the Desktop Editor (it requires a headset connected through link), or by accessing edit mode directly from the headset.
 
Another way to check if your world is currently CMI or not using the Desktop Editor only is by opening the shapes menu under the Build menu. Does it look like the picture on the left or the picture on the right below? The left one is from a sub-D world, and the right one is from a CMI world.

 

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours
flarb
flarbAuthor
Up and Coming
February 27, 2025

So it looks like the one on the left--so it thinks it's sub d....but there's no sub d assets in the scene?!

@flarb
PigeonNo12
Honored Contributor
February 27, 2025

Ok, confirming that the world is still a primitives world helps to understand the full context. The problem is not that you have primitives assets, but that the CMI objects are in a primitive world.

The solution does require using the VR Headset since some of the following options are not available yet in the Desktop Editor:

1) Create a new empty CMI world

2) Enter the new CMI world in VR, and delete the spawn point

3) In the empty CMI world, open your wrist menu (while in preview mode), go to the creations tab, and find the primitives world

4) Once you find it, open its details (the little i button), and then click on the 3 dots next to "Edit world"

5) In that menu, select Import world

6) In the options to import, select "Replace all" and click Next

7) Then select what you want to bring from the prim world (leaderboards, quests....) and select Next

Finally, click Start Import. This will start the import process and you will get kicked out. But then after a few seconds (depending on how complex is the world) you should be able to go back to the new CMI world and all your assets should be there.

Note: there are rare scenarios when this will cause the CMI world to turn into a primitives world (I know, it's confusing). If this happens, try again but in step number 6) instead of selecting "Replace all" select "Merge into".

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours
kingofMiami
Inspiring
February 27, 2025

From Reading your first comment.. "I've deleted and replaced every single primitive with trimesh"-

You need to Make sure you Create a New World and Choose "Custom Model Import" World Type during initial set-up. 

flarb
flarbAuthor
Up and Coming
February 27, 2025

So am I completely screwed? I can’t publish this update to my world and now I have to start all over? And I lose any traction from the old world since it Nerde to be a completely new project?

 

They should let you switch types if there’s no sub-d assets in the world. 

Is there at least a way to copy and paste this whole world to a blank trimesh one?

@flarb
kingofMiami
Inspiring
February 27, 2025

You Can "Update" your Current World to "Custom Model Import" Type 

First Make a New CMI world . I would Move everything you have over to that world first. Then Follow steps to update your world to keep your momentum such as visits/likes for that world 
Follow steps below:
https://developers.meta.com/horizon-worlds/learn/documentation/custom-model-import/replacing-primitive-worlds-with-custom-model-worlds

flarb
flarbAuthor
Up and Coming
February 27, 2025

Also I just created a new world in the desktop editor and don't see that option presented to me.

@flarb
flarb
flarbAuthor
Up and Coming
February 27, 2025

So I tried that and it doesn't quite work. The problem is, it copies the publicly available world over the empty one--which is the one that still has the sub-d objects before I replaced everything. Is there any way to copy the private revision over to this new CMI blank world? Maybe I can unpublish the world and then copy it over?

@flarb
PigeonNo12
Honored Contributor
February 27, 2025

Yes, if the world is already published it copies that version. Alternatively, besides unpublishing it, you could duplicate it first. The duplicate will not be published by default.

The option to duplicate is in the same 3 dots menu. It's also available in the Desktop Editor as well, when you click the 3 dots next to the world name in Creation Home.

Upcoming Events : Build with a Mentor: Custom UI Thursday 3/20 at 5:00 PM PT Register March calendar of all Mentor Workshops and Office Hours
flarb
flarbAuthor
Up and Coming
February 27, 2025

Well I kind of got around it by just turning most of the world into an asset and then deleting the old stuff in the copy and replacing them with the asset. Kinda works!

I guess I could have saved myself a lot of trouble by unpublishing it then doing the copy, however.

@flarb