Troubleshooting
Something is not working? Find your problem below. Start with the first two: they cause most issues.
It works in Preview but not in the editor
This is expected. The editor does not run your logic: scripts, patches, physics, timers and proximity triggers are all off. The editor only shows and edits your scene.
That is on purpose. An animation playing while you edit would get in your way, and a timer would change your project. Open Preview to see your project in action.
My script does not run
Check these in order:
- The object is enabled, and so is every object above it in the hierarchy.
- Its scene is active. In an AR scene, this means the marker has been detected.
- The script component is enabled.
- You are in Preview or a published project, not in the editor.
A script restarts when you change one of its properties in the inspector. So a stray edit can look like a crash.
My change snaps back
There are two common causes:
- A state is active. While a state is selected, your changes to that object are saved into the state. When you switch states, the saved values come back. To change the object itself, deselect the state first.
- Something else sets that value every frame. A timeline bar, a physics body or a Look At component keep writing to the object and overwrite your change. See the next section.
Two animations fight each other
Two things are changing the same object. The timeline writes every frame, so it always wins over a transition.
Use one of them per object. If you need a transition on something the timeline controls, put the transition on a child object, or animate it on the timeline instead. See Animation.
A material change from a script does nothing
A material is a list of slots, so material.update({ color }) writes a field that does not
exist at that level. Change the slot instead:
material.update({
materials: [{ ...material.$data.materials[0], color: '#ff0000' }],
});
The same goes for any nested value: update replaces what you pass in, so copy in the values you
want to keep.
My object falls through the floor
An imported 3D model is not solid until you add a collider. Add one — a box or a capsule is usually right.
Also check that the floor has a rigid body and a collider. Geometry without them is only decoration, and things pass through it. See Physics.
A physics object ignores the position I set
Physics controls the position of a dynamic body and sets it again at every step. To place the
object, use teleport. To move it, use impulses or forces.
My UI is missing from a screenshot
Cards are drawn in front of the 3D view, and a capture of the 3D view does not include them. Check your UI in Preview.
Rotation values do not match
Everything you see — the inspector, patch node ports — shows degrees. Scripts read and write radians. Convert the value when you pass it between the two.
Nothing happens when I press the key
Check how the name is written: triggers use hyphens (on-click), steps use underscores
(play_animation). A misspelled name shows no error. It simply never matches.
If the event uses a project binding, check that the binding still exists. When a binding is removed, the event stops firing. It does not fall back to "any key".
It fires twice
The same trigger is handled in two places: an event and a script, or an event and a patch. Keep only one. See Events.
An object appears a moment late
Resources load while the scene is already running, so models, textures and text can arrive a moment after the scene opens. For content that must be there from the first frame, avoid large downloads, or keep the scene hidden until it is ready.
There is no "animation finished" event
None of the animation tools has one. Use a wait step of the same length, or keep track of the time in a script.
My undo removed someone else's change
Your undo history is your own, and it goes back strictly in order. It does not know that a collaborator changed the same object in between. In a shared scene, fix a mistake with a new change rather than undoing back through it.
Still stuck?
These two pages are the most likely to have your answer:
- Reference — every setting, always up to date.
- Objects and scenes — how a project is put together. The rest of this section builds on it.