Move all keyframes happening in a timeline regardless of entity or mode involved

Hello!

I’m a beginner at animating in general and still learning properly on Blender’s actions workflow.
Therefore, I often find myself having to “give more space” on the timeline to allow more time to pass between things happening, as I end up trying to squeeze too many movements at once in block-out phase and not realize at first that I need more pauses. Beginner mistakes, I’m sure.

Here’s my problem:
I have a file with several rigs and entities interconnected to each other through various constraints, as well as different actions defined on certain rigs, camera switches and drivers activating/deactivating in certain moments on the timeline.

Some of such actions are cyclical movements connected by other actions that perform transitions, hence why my necessity to use them, instead of having everything running in a single “not pushed down” animation.

I keep finding myself in need to create new spaces of 20-30 frames here and there, as I notice things are happening too fast. As I search online, they suggest to select to “show also not selected entities in the dopesheet, and just move all keyframes further”.
Unfortunately, this is all true, until it comes to slotted actions. With actions, I find myself unable to just “move everything forward”, as they are separated entities from my edits. I also cannot select them all and edit them all at once, unless they’re happening at the same time (place in the same spot on the Y axis of the NLA editor).

This turns into a mess when it mixes with minor entities that are not using actions (like empties moving cameras, entity visibility, and so on), as some keyframes will inevitably be left behind. I can fix that, as I already did so far. But it’s just obnoxious and prone to mistakes, and I’ll have to do it all over again every single time this happens.

So here’s my question: Is there any reliable way to ensure everything, and I mean everything in a timeline to my selection, regardless of entity, action or mode, to be offset in a wanted direction?

Alternatively, since the initial part of the animation isn’t affected by such delicate triggers and I could make space “backward”, is it possible to tell blender to offset the timeline so that a negative frame number becomes the new “zero”? It’s not that I have anything against negative frames, but I guess it would be good for keeping things clean.

Thank you for your time. :face_with_peeking_eye:

I saw this the other day, I wonder if it might help:

That seems very interesting! ^^

But I think it’s more for creating non-destructive speed edits to the final render, rather than actually changing the core animation itself. ^^;

Still, thank you for your suggestion! I’ve added it to my wishlist!

In the end, it seems I found a solution on my own:

You still use the dope sheet while turning down “only show selected”.
The difference is, if you select all actions that happen at the same time (on the vertical axis of the NLA editor) and press tab, you can edit them at the same time.

Now, even the keyframes of the selected actions are visible in the dope sheet alongside the keyframes of objects that do not have pushed down actions.

You can move the keyframes to make more space. Once you turn off the edit mode of such actions, the ones happening later in the same slot (same “line” in NLA) will be offset accordingly without errors.

So far, this seems reliable. But I don’t know what would happen if you do this with actions made to be cyclical, so be careful in such cases!

Glad you found a workable approach. When several actions, constraints, and camera cuts share one timeline, “slide everything after frame N” is a classic trap. Entering the strips with Tab and keeping “Only Show Selected” off in the Dope Sheet, as you did, is usually more reliable than shifting only the active action, and unlocking any protected channels helps too. For cyclical strips you may need to move the strip bounds as well as the keys so transitions stay aligned. A single “ripple edit across the whole scene” control would help a lot here, the same kind of global timeline thinking we want when rearranging work on a shared canvas.