Ember says: every bug is a clue. Read the message and it tells you what to fix.
Echo says: found the fix? Change one thing and run it again, so you know the bug has really gone.
When your code doesn't work, don't panic! Use this guide to track down and squash every bug. Pick your engine, find your error, and follow the fix.
when green flag clicked block on top.forever loop , otherwise it only runs once.show block).when green flag clicked block. If you want continuous movement, always wrap actions in forever.when I start as a clone to know what to do.delete this clone at the end of the clone script or it'll pile up.forever without a wait inside clone scripts , it'll freeze Scratch.print("Script started") at the top to confirm it runs.RemoteEvent.OnServerEvent:Connect(...).RemoteEvent.OnClientEvent:Connect(...) and fire with :FireServer().game.Players.PlayerAdded to load saved data into leaderstats on join.game.Players.PlayerRemoving and BindToClose to save data on leave.$NodeName or %UniqueName , unique names need the "Unique" checkbox._ready() before accessing child nodes.../../UI/Panel/Label.emit_signal() and connect().signal_name.connect(callable) , make sure the Callable is valid.signal my_signal at the top of the script. Use the editor's Signals tab to connect , it auto-generates correct code.body_entered signal and make sure monitoring is on.preload("res://path/to/scene.tscn") with exact paths from the FileSystem dock.if(obj != null).GetComponent<T>() actually found the component , it returns null if not found.Destroy() , it's null after destruction.[SerializeField] private T field; and assign in Inspector. Or use FindObjectOfType<T>() in Awake(). Always null-check before using.[SerializeField] to expose it in the Inspector.[SerializeField] on private fields so you can drag-assign while keeping encapsulation. Never leave Inspector fields as None at runtime.FixedUpdate() for physics code, Update() for input-only code.Time.deltaTime when moving with transform.position , not with Rigidbody.AddForce() or set velocity directly , not transform.position.SceneManager.LoadScene("SceneName") does nothing or throws an error. The scene won't switch.using UnityEngine.SceneManagement; is at the top of the script.LoadScene(1) instead of names. Add all scenes to Build Settings as you create them.pip install pygamepip3 install pygamepython -m venv venv, then venv\Scripts\activate before installing packages.pygame.init() is called before creating the display surface.pygame.display.flip() or pygame.display.update().pygame.event.pump() in your loop to prevent Windows "not responding".sprite1.rect.colliderect(sprite2.rect) for rect-based collision.self.rect = self.image.get_rect() set correctly.self.rect.center = (self.x, self.y) every frame if you move by x/y.pygame.sprite.collide_mask().pygame.sprite.groupcollide() for group-vs-group collisions.pygame.mixer.Sound.play() but no sound is heard. The mixer loads but stays silent.os.path.exists() to verify.pygame.mixer.pre_init(44100, -16, 2) before pygame.init().pygame.mixer.music for background, Sound for SFX.pygame.mixer.pre_init() before pygame.init() to avoid initialization issues.canvas.getContext('2d') and saved the result.requestAnimationFrame, make sure the function actually calls itself.canvas.width = 800. CSS size scales the visual but not the buffer."click" not "Click".document.DOMContentLoaded. Log the element to console before adding listeners.onload callback may never fire.onload before drawing: img.onload = function() { ... }img.onload , never draw immediately after setting src. Use a local server for development..play() returns a rejected promise.audio.play() and catch the promise: audio.play().catch(e => ...)No fixes matched “”
Try a shorter word or the exact error text, or open an engine tab above.