Object mode/Multi Edit for Aseprite (Editing multiple frames at the same time)

Hi.

It seems we have no option to draw inside multiple frames at once? I need to check documentation for this but haven’t found any help from other sources. I know there’s some ways to edit multiple frames but they are quite limited. Most require playing with another layer which is not too bad but just less convinient.

This lead me to struggle and I came up with a concept that I tend to wish existed:

The goal is to edit layers like we had objects in them. One layer content would represent one object. This is how the UI shows the content bounds right now so it would support this UI view. The idea of an object is that Aseprite would know the position of the layer content (which it does) and then when you draw in it in any of the frames it checks the content of the selected layer from every cel and compares them to find identical objects.

(every pixel matches → a cel hash could be used created from visible pixels)

Usage:

Using the tool would happen simply by drawing on a cel that has this identical partners on other cels. We would have an “Object mode” or “Multi Edit” toggle button for this. The object would need to be selected first (With auto select on selection or CTRL + mousebutton).

This would leave the UI you see when pressed CTRL permanently visible indicating that the object edit mode is initiated. Now when you draw inside this object or even outside of it you would extend the current object.

When a stroke or another edit is finished Aseprite would copy those contents of that object using the original canvas coordinates for origin that was recorded when the edit action started. It would then go through every frame and paste the content of the original frame to each and every one of them based of the position of the object’s origin in those frames.

This functionality could be enhanced by a value from 0-100 where you could set up the similarity threshold for the objects. Or even one option would be to set it by the number count of individual or identical pixels. This way if a torso has slight changes at the top part of the object you could still fix up the lower part simultaneously. This would need a ruling for editing only the “identical” pixels (MULTI LAYER EDIT) or the “individual” pixels" (SINGLE LAYER EDIT).

NOTE: There could also be a whole other layered system for this where a concept of an object is actually implemented and the content of the object could be stored inside a container for later use or even more advanced edit but that would change the core functionality quite a lot.

The simplest way to visualize this in your mind would be comparing this to the skeleton based editors and creating a sprite with this tool would be it’s optimal use. Let’s say you have a dragon that has a separate head that you want to animate and edit. You could make the head movements compared to the body first and also finish the head at the same time. Then you would turn the identical head sprites into individual objects by changing their content (Making the head turn for example).

The technique works extremely well for cartoonish animations where most of the sprite stays unchanged. Similar style to flash in the terms of the object positioning. Dragon head is bad example in a way that it changes in many ways when rotated but if we create “paper like” animation where the sprite itself does not change this would speed up the workflow considerably in animations and animation sets where you have near 50 . Better example would be more stationary object like a body of an character that stays the same through most of the animation.

More simpler example would be a bubble that you want to change. Let’s say you have a picture of floating bubbles and you want to change details or colors of one of them. Every layer represents an object. When drawn to one layer it changes the bubble on all of the frames by recreating the actions you made in the source frame but in the relative position of the destination frame. So if you had a sprite of 3x3 at the position of 12, 12 (by the set origin) in the first frame and 10,10 in the second frame, then paint on first frame 12,12. Aseprite would move to the destination frame and redo the paint action on it’s corresponding 10,10.

I tend to make the base shapes first and then draw the details. Most of the time I have identical object that I just move around at first. But now I need to draw all the details immediately as editing frames afterwards is a pain. Especially if you have something going off-canvas. This usually results a wonky shadows bouncing around which sure looks natural considering how the light works but sometimes you would want to keep the lightning exact in all of the frames.

NOTE: Bonus points for making it work so when you run object mode and the origin of the frame B is so far close to the edge that when you draw to frame A it would paste those contents out of the canvas in frame B. So the object could stay intact if it needs to move in and out of the visible canvas area.

CONCLUSION:

MULTI EDIT: Allows the edit of an area which has percentage of similarity compared to other areas inside other frames. When threshold is reached the edits will be copied to the matching layers.

OBJECT MODE: Later this could be enhanced by setting up a setup layer in new UI window. You would use grid system for this window where you could set the object bounds and then draw the objects inside of those bounds. These instances would present the default form of the sprite. Changes can be made into different instances (Not really instances as they are related to each other just by similarity)

These objects nor their bounds would not ever change. You could make the edits on another layer on top of it or just turn off the multi edit to make changes to the object individually. Now we could compare this to “instance” to the original picture inside the “source file” of objects instead of comparing it always to the instance you are currently editing. Just by comparing colors of the content would be enough to define the similarity because only the frames of single layer are cross referenced (not the cels on different layers).

If we would want to limit this functionality you could choose a range of cels and then turn the object mode on to just change sprites similar inside of that range.

This is the best I could come up with currently considering the multiedit workflow in 2026:

https://www.reddit.com/r/aseprite/comments/1r3mv5c/multi_editing_workflow_in_2026/