Description
Changelog
Reviews (1)

Godot textures do not contain pivot data, but having consistent pivots for your Sprite2D nodes is important for y-sorted scenes and simple 2D animations. This plugin adds the necessary tools to essentially add a default pivot to textures so when you are assembling your 2D scene, the Sprite2D offset is automatically set.

What this plugin does

  • Automatically set the offset of sprites you drag into your 2D scenes.
  • Set the default offset of sprites in a custom editor dock.
  • Update the offset of existing Sprite2D nodes right from the inspector.
  • Easily get or set texture offsets from the sprite offset database.

Good to know

  • The offset of a Sprite2D node is only set by this plugin at specific moments so that scene-specific customization is possible. This plugin only sets offset:
    • when you drag a texture from the FileSystem into your 2D scene, creating a new Sprite2D node.
    • when you press the 'Update Offset' buttons under the offset property of a Sprite2D node.
    • when you use the "Sprite Offset Editor > Tools > Update offsets in all scenes…" option.
  • The sprite offset database is saved at "res://sprite_offset_database.dat".
  • The sprite offset database works both at editor time and at runtime.
  • This plugin currently assumes you have Sprite2D.centered enabled on all of your sprites.

Sprite offset database API

  • SpriteOffsetDatabase.has_offset_for_texture(texture: Texture2D) - to check whether a texture has an offset saved in the database.
  • SpriteOffsetDatabase.get_offset_for_texture(texture: Texture2D) - to get the saved offset for a texture from the database.
  • SpriteOffsetDatabase.set_offset_for_texture(texture: Texture2D, offset: Vector2) - to save the offset of a texture to the database.
  • SpriteOffsetDatabase.update_offset(sprite: Sprite2D, preserve_position: bool) - to update a Sprite2D's offset to the value saved in the database.
  • SpriteOffsetDatabase.save_database() - to save the database.
  • SpriteOffsetDatabase.cleanup() - to remove unused or outdated offsets from the database.

Special thanks

The foundation of this plugin was inspired by a prototype Tomasz "KoBeWi" Chabora (https://github.com/kobewi) shared with me privately. I am grateful to him for showing me the way and with his permission I refactored, improved, and uploaded the plugin for your convenience here!

Changelog for version v1.0

No changelog provided for this version.

Reviews

Recommended by Sim Kaart - 24 June 2026

Great when building 2D worlds that depend on y-sorting. If you use a lot of sprites scattered around the project, the best way to be consistent was to have a kind of 'zoo' where the sprites have their offset set in the editor, and copy paste from there. With this plugin, this 'source of truth' becomes way more manageable, and you can even update the offset of all references when they're already used all around your project. Easy recommend.

Login to write a review.