Optimizing Models for Performance
Learn how Campfire optimizes 3D models for performance, and how to fine-tune optimization for very large models.
Most users never need to change these settings. Campfire optimizes every model automatically when you import it, and for the vast majority of models that's all you need. The options below are only for very large, complex models that still don't perform well on a headset.
Campfire lets you import complex 3D models and scans and view them on a PC, Mac, iPad, or a supported headset such as Meta Quest 3, Quest 3S, and Samsung Galaxy XR. When you import a model, Campfire automatically optimizes it for the device you're viewing on, balancing visual quality and performance.
When you might need to optimize manually
Most models are ready to use as soon as they're imported. Occasionally a model is simply too large and complex — often with tens of thousands of parts — to perform well on a headset, even after automatic optimization.
As a rule of thumb, a model runs smoothly on a headset like the Quest 3 when it has:
- Fewer than 15,000 parts
- Fewer than 4 million polygons
If your model is well above these numbers and feels slow or won't render on a headset, the optimization profiles below give you more control. If your model is within range and performing well, there's nothing you need to change.
If you're a Quest user and want to view a very large model without optimizing it down, consider Quest Link, which streams the model from your PC instead.
Advanced: optimization profiles
Optimization profiles tell Campfire how aggressively to reduce a model when it's imported. Setting them up means hand-editing a configuration file, so this is an advanced workflow — only use it if your model meets the conditions above.
These settings trade visual detail for performance, so they reduce polygons and remove parts. Make a backup of the file before editing it, and keep the file valid: a missing comma or bracket will stop it from loading.
Open the profiles file
Optimization profiles live in a file named model-profiles.json, located at:
PC:
C:\Users\<username>\AppData\Local\Programs\Campfire\Campfire_Data\StreamingAssets\Profiles
Mac:
Open Finder and navigate to Applications. Right click on Campfire and select Show Package Contents Go to Contents->Resources->Data->StreamingAssets->Profiles
Open model-profiles.json in any text editor. Inside, you'll find a default profile and two more aggressive presets:
Choose a profile
Campfire uses the profile named in active_model_import_profile. By default this is profile_1, a light optimization that keeps most of the model's detail. To use a more aggressive profile, change that value.
For example:
"active_model_import_profile": "profile_2"
profile_2 is a good starting point: it reduces the model to 50% of its polygon count and removes small and hidden parts.
What each setting does
optimize_pct— The percentage of polygons kept after optimization. Lower values reduce the model further and remove more detail.profile_1keeps 80%; 50% is a good starting point for more aggressive optimization.delete_small_partsandsmall_parts_size— When enabled, removes parts smaller thansmall_parts_size, measured in millimeters. Useful for dropping tiny hardware that adds to the part count without adding much value.delete_hidden_parts— When enabled, removes parts hidden inside the model that aren't visible from the outside.scene_statistics— When set totrue, Campfire shows the part and polygon counts after each optimization, so you can check them against the 15,000-part and 4M-polygon targets.
Apply and review your changes
You don't need to restart Campfire. To apply new settings:
- Edit
model-profile.jsonand save it. - In Campfire, open a scene and add a model.
- Campfire imports the model using the settings you just saved.
Turn on scene_statistics first so you can see each model's part and polygon counts as you import. Try a profile, review how the model looks and where its stats land, then adjust optimize_pct or the part-deletion settings and re-import until the model looks acceptable and falls within the performance targets.
Switch back to profile_1 when you're done. The active profile applies to every model you import, so if you leave an aggressive profile active, models that didn't need heavy optimization will be over-decimated and have parts removed. Set active_model_import_profile back to profile_1 before importing new models.
Related Links Using Campfire with Headsets Quest Link Setup