Metlivi Blog

How to Keep Overworld and Battle Sprites at a Consistent Scale

To make a character feel like the same size in overworld and battle scenes, compare the height of the artwork as it is rendered on screen—not the source image dimensions alone. Choose a shared pixel-height target for the character, set a consistent world scale and pixel density, then compare both scenes at the same camera scale. Align the character’s feet to a common baseline and check the result at the game’s intended display sizes. If either scene deliberately uses a different camera or composition, document that exception instead of silently changing the sprite scale.

October 15, 20268 min readBy Metlivi Editorial Team
Section 1

Decide what “same scale” means for your game

Start by defining a measurable target. For example, you might decide that the character should occupy 32 screen pixels from sole to top of head in both scenes at the reference camera view. That is an illustrative target, not a recommended universal size: choose one that suits your game’s resolution and the amount of detail in its art.

Measure the visible character, not a transparent image rectangle. The overworld sprite may include a shadow, weapon, antenna or empty padding, while the battle sprite may have a different pose. Decide whether your target measures the head-to-foot body silhouette or the full visible artwork, and use that same rule for both. Keep a small reference sheet with the target height, reference resolution, intended floor line and any intentional scene-specific differences.

This definition matters because a larger source canvas does not automatically mean a larger character on screen. Canvas dimensions describe the image area; the engine’s import settings, object scale and camera determine how many display pixels that area occupies. Aseprite distinguishes changing the canvas from resizing sprite content, so check which operation you need before altering artwork.Aseprite: Sprite Size

Section 2

Compare the actual artwork inside each canvas

Open the overworld and battle images at their native pixel scale and count the pixels in the chosen measurement. Record the character’s visible height and the distance between the feet and the canvas edge. If the battle character is 48 visible pixels tall and the overworld character is 32, their artwork proportions differ by 1.5:1 before the engine applies any scene scaling.

When proportions are otherwise identical, a simple starting calculation is: desired rendered height ÷ current rendered height = adjustment factor. If a sprite currently renders 24 pixels tall and should render 32, the factor is 32 ÷ 24 = 1.33. Use that as a diagnostic estimate, then inspect the art and scene setup. It is an illustrative calculation; it assumes no camera, crop, or transform difference.

Do not resize merely to make the image files have matching width and height. One pose may be wider, or a battle animation may include a raised arm. Preserve the intended shape and compare the same body landmarks. If the sprites have visibly different anatomy or perspective, matching pixel height may still not make them feel identical; adjust the design or agree on a scene-specific exception.

Section 3

Set shared pixel density and world scale

In Unity, set the overworld and battle sprites to the same Pixels Per Unit (PPU), and match the Pixel Perfect Camera’s Asset Pixels Per Unit setting to that value. Unity defines PPU as the number of pixels that make up one scene unit, and its Pixel Perfect Camera guidance calls for a shared value across scene sprites.Unity: 2D Pixel Perfect For example, if the project uses 16 pixels per unit, a 32-pixel-tall sprite occupies 2 world units before object scaling.

Check each character object’s transform scale as well. Matching PPU will not compensate for one scene object scaled to 0.8 and another to 1.0. Prefer consistent import and transform settings, and adjust the artwork or a clearly recorded scene-specific scale only when the composition requires it.

In another engine, find the equivalent controls: how many source pixels map to a world unit, the node or object scale, and the camera’s viewport or zoom. Godot’s 2D rendering path includes canvas and viewport transforms, including a stretch transform used when resizing the screen; therefore a source image’s dimensions alone cannot determine its final screen size.Godot: Viewport and canvas transforms

Section 4

Align the feet with a deliberate pivot

A character can be the right height and still look inconsistently scaled if it floats, sinks or shifts position between scenes. Set the pivot at a meaningful anchor, usually the ground contact point between the feet, then align that anchor to the same floor baseline in both scenes. For sprites whose feet move during an animation, anchor the root or pivot consistently and check the contact frames.

Avoid assuming the center of each image is a good anchor. The canvases may have different amounts of transparent padding, and a centered pivot can put the artwork at a different vertical position. Unity’s pixel-perfect workflow supports custom pivots measured in pixels and recommends setting pivots for individual sprites in a multiple-sprite texture.Unity: 2D Pixel Perfect In Godot, Sprite2D is centered by default; its documentation notes that centered pixel art can appear deformed when positioned between pixels and describes disabling centering or enabling pixel snapping as options.Godot: Sprite2D

Section 5

Check filtering, snapping and camera scale

Use nearest or point filtering for crisp pixel art, and confirm that texture compression is not changing its appearance. Unity’s guidance specifically recommends Point filtering and no compression for sprites used with its Pixel Perfect Camera.Unity: 2D Pixel Perfect These settings preserve edge clarity; they do not make two differently scaled sprites the same size.

Next, compare the scenes with their cameras set to the same reference view or with a temporary shared test camera. A battle scene often zooms in for emphasis. If the camera zoom doubles, the character can occupy twice as many screen pixels even though the sprite’s world scale is unchanged. Decide whether the requirement is equal world size or equal screen prominence: those are different goals. If battle framing intentionally enlarges the character, record the zoom as a presentation choice and don’t use that view to judge the underlying sprite scale.

For pixel art, inspect movement as well as a still frame. Subpixel positions or inconsistent snapping can make edges flicker or appear uneven as the character moves. Unity’s Pixel Perfect Camera offers grid snapping tied to its asset PPU; Godot provides pixel-snapping settings for 2D vertices and transforms.Unity: 2D Pixel Perfect Godot: Sprite2D Test with the project’s actual camera settings, since snapping and scaling behavior depends on the rendering setup.

Section 6

Run a short comparison check before changing assets

Create a side-by-side comparison with the same character pose if possible. Use these checks in order:

  1. Compare the visible body height using the same landmarks and pixel-count rule.
  2. Compare the feet’ baseline and the sprite pivot or root position.
  3. Verify PPU or equivalent import density, object scale and any parent scale.
  4. Match camera zoom, reference resolution, viewport scaling and display size.
  5. Inspect at native size and while moving to catch blur, uneven pixel placement or clipping.
  6. Recheck a few animation frames, especially the shortest and tallest poses.

If the artwork measurements match but the character still reads larger in battle, investigate camera framing and surrounding objects before editing the sprite. If the camera and transforms match but the silhouette height differs, adjust the art or a controlled scene-specific scale. If the feet shift while height matches, correct the pivot, padding or anchor. This order helps isolate the cause instead of compensating for one error with another.

Section 7

Keep a small scale reference for future sprites

Record the shared target height, PPU or equivalent, reference resolution, pivot convention and intended camera settings alongside the sprite assets. Aseprite’s canvas tools can trim transparent borders, but trimming changes the canvas bounds, so check that pivots, slices or engine-side anchors still line up afterward.Aseprite: Canvas Size Treat trimming as an asset change that requires a quick scene check.

The reliable standard is a character that matches the agreed visible-height target, shares a ground anchor, and renders consistently under the intended camera and filtering settings. Preserve deliberate differences in camera emphasis as explicit presentation choices. With those checks recorded, later overworld poses and battle animations can be compared against the same practical reference.

Section 8

Sources

Related reading

Keep exploring this topic