Dynamic Object Uploads
Upload Dynamic Object meshes to the Cognitive3D platform using the Upload Web App. Dynamic objects are trackable items that move within your scenes.
What is a Dynamic Object?
Dynamic Objects in Cognitive3D represent items that can be tracked and analyzed within a scene. Examples include:
- Interactive items participants manipulate
- Moving elements in your environment
- Characters or NPCs
Dynamic objects have their own 3D mesh for visualization on the dashboard and can record position, rotation, scale, and custom properties over time.
For more details, see Concepts.
Prerequisites
Before uploading a dynamic object, you need:
- An existing scene - Dynamic objects belong to scenes
- 3D mesh files - glTF format (
.gltf+.bin) - A thumbnail image (recommended) - For the object gallery view
Scene Required
You must have at least one scene uploaded before you can add dynamic objects. See Scene Uploads to upload a scene first.
Required Files
To upload a dynamic object, you need:
| File | Required | Description |
|---|---|---|
{name}.gltf |
Yes | 3D mesh in glTF 2.0 format |
{name}.bin |
Yes | Binary buffer data referenced by the glTF |
screenshot.png or cvr_object_thumbnail.png |
Recommended | Object thumbnail image |
| Texture files | No | PNG, JPG, WEBP images referenced in the mesh |
GLB Not Supported
The Upload Web App only accepts glTF Separate format (.gltf + .bin). GLB binary files (.glb) are not currently supported. If you have a GLB file, convert it to glTF Separate format before uploading (most 3D editors and tools like gltf-pipeline can do this).
File Naming
The mesh filename becomes the object's Mesh Name in Cognitive3D. For example:
controller.gltf+controller.bin→ Mesh name: "controller"chair.gltf+chair.bin→ Mesh name: "chair"
Thumbnail Requirements
- Format: PNG
- Filename: Either
screenshot.pngorcvr_object_thumbnail.png - Recommended size: 256x256 pixels or larger
- Purpose: Displayed in the Object Explorer gallery
Exporting from 3D Editors
Blender
- Select the object you want to export
- Go to File > Export > glTF 2.0 (.glb/.gltf)
- In the export settings:
- Set Format to "glTF Separate (.gltf + .bin + textures)"
- Enable Export Selected
- Set the filename to match your object name
- Click Export glTF 2.0
Other 3D Editors
When exporting dynamic objects:
- Use glTF 2.0 Separate format (.gltf + .bin)
- Export only the object mesh, not the entire scene
- Center the object at the origin for best results
- Include referenced textures
Uploading a New Dynamic Object

- Go to upload.cognitive3d.com
- Enter your Developer API Key and click Get Started
- Select New Object from the upload menu, or click the Add Object button next to a scene in the "Your Scenes" list
- Choose the Scene where this object will be used (pre-selected if you used "Add Object")
- Drag and drop your files:
- Your mesh file (
{name}.gltf+{name}.bin) - Your thumbnail (
screenshot.pngorcvr_object_thumbnail.png) — optional but recommended - Any texture files
- Your mesh file (
- The Mesh Name is automatically detected from the
.gltffilename. You can change it if needed. - Verify the validation panel shows all required files
- Click Upload Object
Updating an Existing Dynamic Object
To update a dynamic object's 3D mesh:
- Go to upload.cognitive3d.com
- Enter your Developer API Key and click Get Started
- Select Update Object from the upload menu, or expand a scene in "Your Scenes" and click the Update button next to the object
- Choose the Scene containing the object (pre-selected if you used the scene list)
- The Mesh Name is pre-populated if you clicked Update from the object list, or enter it manually
- Upload your new mesh and thumbnail files
- Click Upload Object
This creates a new version of the object mesh.
Sample Object Option
If you do not have a 3D mesh prepared, you can use the Sample Object feature to create a default cube. This is useful for:
- Testing dynamic object tracking in your SDK
- Getting started before creating custom 3D assets
- Placeholder objects during development
To use the Sample Object:
- Select New Object
- Choose your scene
- Enter an object name
- Click the "Don't have object files?" prompt
- Select Use Sample Object
- Click Upload Object
You can later update this object with your actual 3D mesh.
File Size Limits
| Limit | Value |
|---|---|
| Warning threshold | 100 MB total |
| Maximum recommended | 500 MB total |
Dynamic object meshes are typically much smaller than scene files. If your object mesh is very large, consider:
- Reducing polygon count
- Using lower resolution textures
- Simplifying the mesh for visualization purposes
Multiple Objects in a Scene
A scene can have many dynamic objects. Each object is uploaded separately with its own mesh and thumbnail. Common patterns include:
- Interactive items: Tools, objects participants can pick up
- UI elements: Panels or menus that move with the participant
- Non-player characters: NPCs that participants interact with
Each unique object type needs to be uploaded once. The SDK then creates instances of these objects during sessions.
Troubleshooting
"Missing required file: *.gltf"
Ensure you have included a .gltf mesh file. GLB files are not supported — convert to glTF Separate format first.
"Missing required file: {name}.bin"
You need the .bin file that corresponds to your .gltf file. The base name must match (e.g., chair.gltf requires chair.bin).
"Multiple .gltf files found"
Only one mesh file is allowed per object upload. Remove extra mesh files.
Object appears incorrectly positioned
- Center the object at the origin (0, 0, 0) in your 3D editor before export
- Apply all transforms in your 3D editor before exporting
- Check that scale is appropriate for your scene units
Thumbnail not showing
Ensure your thumbnail is named exactly screenshot.png or cvr_object_thumbnail.png and is a valid PNG file.
Next Steps
After uploading dynamic objects:
- View them in the Object Explorer
- See detailed metrics in Object Details
- Configure your SDK to track these objects during sessions
If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page or join our Discord.