
Sharp, stable world and UI scaling with flexible zoom controls. No texture replacement, camera snapping, external injectors, or CPU-side image processing.

What it does
Stardew Valley normally uses linear filtering when it scales its final world and interface render targets. That works at arbitrary sizes, but it can make pixel art look unnecessarily soft at zoom levels that could be displayed cleanly.
True Zoom adjusts only those final compositor passes. When Stardew Valley's four-pixel art grid maps cleanly to physical pixels, the mod uses sharp point filtering. During uneven scaling, smooth transitions, or fractional camera movement, it automatically switches to stable linear filtering to prevent stretched pixels and visible shimmer.
World and UI scaling are handled independently, so each can use the filtering that suits its current scale. The mod does not replace textures, modify game assets, quantize camera coordinates, or interfere with the map screenshot renderer.
Zoom controls
True Zoom gives world zoom and interface scale one consistent configurable range, step mode, speed, and transition system. The same rules are used by Stardew Valley's built-in World Zoom and UI Scale selectors, the HUD zoom buttons, custom keybinds, and the mouse wheel control.
- Hold Left Control and scroll the mouse wheel to change world zoom.
- Press Home to return world zoom to 100%, or the nearest configured boundary.
- Optional Zoom In and Zoom Out keyboard or controller bindings can be configured.
- Mouse-wheel zoom is ignored while a menu, shop, dialogue, map, or other clickable interface is open.
Zoom modes
Integer is the default mode. It builds a configurable zoom grid anchored at 100%, using 25% steps by default. With the default 50-200% range, this gives 50%, 75%, 100%, 125%, 150%, 175%, and 200%.
Free mode changes zoom by a configurable amount without using the integer grid. Its default step is 1%, which is useful when you want more precise control. Fractional and uneven scales may use linear filtering when necessary to keep the image stable.
Smooth transitions
Zoom changes can transition smoothly instead of jumping immediately. Linear, Ease Out, and Smooth Step easing modes are available, with Smooth Step enabled by default. Transition speed is configurable and defaults to 150 zoom percentage points per second.
While a transition is active, True Zoom keeps the render target centered and uses stable filtering. It avoids reallocating render targets on every transition frame, then safely commits the final scale once Stardew Valley has updated its buffer.
Installation
- Install SMAPI 4.1.0 or newer.
- Download True Zoom and extract the TrueZoom folder into your Stardew Valley/Mods folder.
- Launch the game through SMAPI.
- (Optional) Install Generic Mod Config Menu to change settings in-game.
Configuration
- Sharp World Scaling: enables scale-aware filtering for the game world. On by default.
- Sharp UI Scaling: applies the same rules independently to the interface. On by default.
- Screenshot Safe Mode: preserves vanilla behavior for screenshots and unrecognized render targets. On by default.
- Zoom Mode: Integer or Free. Integer by default.
- Minimum Zoom: lowest world zoom and interface scale accepted by the mod. 50% by default.
- Maximum Zoom: highest world zoom and interface scale accepted by the mod. 200% by default.
- Integer Zoom Step: spacing of the grid anchored at 100%. 25% by default.
- Free Zoom Step: amount changed per input in Free mode. 1% by default.
- Smooth Zoom: enables animated world and interface scale changes. On by default.
- Zoom Speed: transition speed in percentage points per second. 150 by default.
- Zoom Easing: Linear, Ease Out, or Smooth Step. Smooth Step by default.
- Mouse Wheel Modifier: binding held while scrolling to change world zoom. Left Control by default.
- Zoom In / Zoom Out: optional keyboard or controller bindings.
- Reset Zoom: returns world zoom to 100% or the nearest allowed value. Home by default.
- Compatibility Fallback: disables only an affected rendering path when another mod patches the same compositor. On by default.
- Debug Logging: writes throttled per-screen zoom and render-target diagnostics to the SMAPI log. Off by default.
Generic Mod Config Menu is optional. Without it, True Zoom creates a config.json file after the first launch and uses the same default settings.
Compatibility
True Zoom requires Stardew Valley 1.6 or newer and SMAPI 4.1.0 or newer. Its rendering pipeline was verified directly against Stardew Valley 1.6.15. Later compatible 1.6 versions are accepted only when the expected compositor structure can be verified safely.
Because it changes the final scaling stage instead of individual assets, it should work normally with Content Patcher packs, recolors, custom maps, buildings, NPCs, portraits, Fashion Sense, Alternative Textures, and most sprite replacements.
The mod uses small, guarded Harmony patches for Stardew Valley's final compositors and native zoom controls. It verifies the expected game methods before installing each rendering patch. If another mod patches the same compositor, Compatibility Fallback disables only the affected path and leaves vanilla rendering active there.
Local split-screen uses separate zoom and transition state for each screen. True Zoom runs locally and does not require matching settings from other multiplayer players.
Performance
True Zoom does not run a fullscreen post-processing shader, scan textures, or copy rendered frames to the CPU. Its work is limited to filtering decisions and transition calculations inside the final world and UI compositor.
State is reused across frames, diagnostics are throttled, and smooth zoom avoids forcing render-target reallocations every frame. Render targets are allowed to update at transition boundaries instead.
Important notes
- Sharp point filtering is used only when the active scale maps Stardew Valley's pixel grid cleanly to physical pixels.
- Uneven scales and active transitions use linear filtering to avoid stretched or inconsistent pixel sizes.
- At fractional scales, camera movement temporarily uses linear filtering to prevent shimmer. Sharp filtering returns after the camera becomes stable.
- World and UI filtering are independent and can be enabled or disabled separately.
- Screenshot Safe Mode preserves vanilla behavior for known screenshot paths and unknown render targets.
- The large map-screenshot renderer is intentionally left untouched because Stardew Valley already uses point filtering there.
- If a compositor error occurs, only the failing path is disabled and Stardew Valley continues with vanilla rendering.
Troubleshooting
- Check the SMAPI log for a Vanilla fallback message. It identifies the rendering feature that was safely disabled.
- If another scaling, framebuffer, or post-processing mod causes problems, try disabling Sharp World Scaling or Sharp UI Scaling to identify the conflicting path.
- Keep Screenshot Safe Mode enabled when using screenshot or post-processing mods.
- Delete config.json from the True Zoom folder to restore default settings.
- When reporting a bug, include your SMAPI log, Stardew Valley version, resolution, window mode, zoom settings, split-screen status, and the names of any other rendering mods.
Made for the Stardew Valley community by xzqute

