Short answer: Positioning follows one rule: only a Move changes where a sprite sits, how big it is, or how it's rotated. Showing a sprite never carries a position - a show controls what's visible, a Move controls where. The fastest way to place a character is to select them and drag them on the Stage: Forge writes the new position into the Move event that sits next to the show, creating one for you if it doesn't exist yet.
One rule: only a Move moves
A sprite show decides what appears - which character, which expression, whether they fade in. It never decides where. Position, size, and rotation belong exclusively to the Sprite: Move event. That keeps blocking predictable: if a character is standing somewhere specific, there is a Move event that put them there, and that Move is the one place to change it.
Where a position comes from
When a sprite is on stage, its position resolves in this order:
- A Move event. The most recent Move for that sprite wins. A Move only changes what you set - a size-only Move never disturbs the position.
- The sprite's default position. Set once per sprite in the Sprites dock; it applies in every scene that never moves that sprite.
- Automatic placement. With neither of the above, the sprite stands bottom-center at a sensible size.
The fastest way: drag on the Stage
Select the sprite's event in the timeline, then grab the character on the Stage and drag them where you want. Forge writes the position into the Sprite: Move event immediately after the show - and if there isn't one yet, it creates one in the same gesture. Dragging again updates that same Move rather than stacking up new ones, so casual repositioning stays tidy.
Setting a default position
If a character should always stand in the same spot, don't repeat a Move in every scene. Open the Sprites dock, expand the sprite, and choose Edit Default Position - you drag the sprite on a stage preview, and each release saves. Reset clears the default back to automatic placement.
Walking a character off stage
Off-stage positions are allowed on purpose. While editing, the Stage view can zoom out past the frame edge, with a dashed outline marking the true stage boundary - so you can drag a character beyond it. Move a sprite to an off-stage point to walk them out of frame, or start them off stage and move them in.
Importing from Ren'Py
Imported projects keep their original staging: every position in your Ren'Py script becomes a first-class, editable Move event. Adjusting imported blocking works exactly like adjusting blocking you authored in Forge - select and drag.