Page MenuHome

Hold forward is reseted in NLA
Confirmed, LowPublicKNOWN ISSUE


System Information
W10 64b

Blender Version

Short description of error
If you move with action in NLA Hold extrapolation is changed to Hold Forward

Exact steps for others to reproduce the error

  1. Open my scene
  2. Change extrapolation of SET TO HOLD action to Hold
  3. Move with action "Clip"
  4. SET TO HOLD action is changed to Hold Forward automaticaly

Event Timeline

Cenek Strichel (cenda) raised the priority of this task from to 90.
Cenek Strichel (cenda) updated the task description. (Show Details)
Cenek Strichel (cenda) edited a custom field.

Can confirm that behavior (switch to Hold Forward if there is another action before it in timeline), would assume this is intended, Joshua?

Bastien Montagne (mont29) lowered the priority of this task from 90 to Normal.Aug 20 2015, 2:37 PM

Yes, that was the original intended behaviour.

That said, I can see why this can get annoying (e.g. if you're just spent time setting "hold both" on a whole bunch of strips, only to have this get reset).

I think that it is not good idea set something automatically, when I setted it explicitly.

Hello, I see that auto forward hold behaviour is still in the Blender 2.76. Will it be removed or stay? Maybe some options for this behaviour would be fine. Or if I change extrapolation explicit it will not change automatically.

For example now I am animated some vehicles. I have several clips for rotating wheels, for turning wheels etc. Some of my clips started on frame 100+ so I setted Hold. But if I move with another clips, it automatically reset this. So I have to do key on frame 0 everytime, for suppres this behaviour.

Hey, any news on this one?

Just wanted to chime in to add that the extrapolation also gets reset by the presence of action stash strips. Is this behavior also on purpose?

I'm in the middle of a motion graphics Project and have to deal with a lot of Strips getting reset with every move.

This bug would explain why I would sometimes experience weird glitchy behavior in an animation project back in 2015. Now that I have discovered it was all due to the NLA strips switching to "Hold Forward", I will have to be extremely cautious every time a change is made in this new project, unless someone has found a workaround.


Thanks Philipp. Is there any chance this bug could be fixed by one of the devs within the next few days? It is really slowing down the animation of a project which I need to submit by the 11th. It basically doesn't allow the Non-Linear Action editor to be used in a Non-Linear manner, as any update to the strips will destroy the settings in all the other ones. This forces you to have all strips start at frame 1, even if the action doesn't occur until frame 100 (essentially a Linear editing workflow).

If an early fix is not possible, I understand, but I really do appreciate your time in looking into this.


chiming in my hope that someone addresses this, as it's still present in 2.8.

its one thing to have it as a default for newly created strips, but resetting on every single move of the strip is super frustrating. what is the use-case where a user would want this value which they explicitly set overridden?

wow, it is from 2.75 :( still frustrating feature

Any chance that it will be fixed in Blender 2.8? It is nearly 4 year old report. It make many troubles when NLA editor, change extrapolation automatically.

Yes, it would be nice to have this fixed in 2.8 for sure. :-)

Jeroen Bakker (jbakker) triaged this task as Low priority.Jan 28 2020, 8:35 AM
Jeroen Bakker (jbakker) changed the subtype of this task from "Report" to "Known Issue".

Thanks so much @Jeroen Bakker (jbakker) for triaging this. Looking forward to having this serious issue addressed! I suppose the issue was able to go over 4 years without veteran animators complaining because traditional "straight-ahead" and "pose-to-pose" animation doesn't typically stitch individual animations together, like one does in a game engine. However, with a name like "Non-linear Action Editor", being able to move clips around in a "non-linear" fashion is obviously expected, just as it is in a NLA video editor. But to this day, that is not possible without destroying the extrapolation settings in all other clips. In my opinion, the ability to re-use animation clips and stitch them together without destroying all others is as fundamentally important to workflow as traditional animation styles. At the very least, it gives game animators a means to test switching and blending between their animated actions before exporting to the game engine, and a viable way for all animators to create entirely new sequences from pre-existing work. Thanks again to the Blender dev team for investigating a way to solve this.

are there any news on when this is going to be fixed?

its already 5 years

For those interested, a few new patches have been added to address this issue: T82230: NLA: Moving Strips Auto Changes Between Hold and Hold_Forward. Any feedback is welcome. If a test build is desired, let me know.

Wow, that sounds fantastic, Wayde! Thank you for addressing this. Yes, I would certainly be interested in trying this feature if it has not been added to the daily builds yet.

A windows build will be up within a few hours undo the name: tmp-T82230-nla_remove_hold_reset_behavior. It won't be stable so only use it for testing.

Awesome; thanks Wayde! I will try to give this build a try over the next few days. Much appreciated!

@Wayde Moss (GuiltyGhost) Apologies for the very late reply, Wayde. I finally had opportunity to test your build: 2.92.0 Alpha, branch: tmp-T82230-nla_remove_hold_reset_behavior, commit date: 2020-12-30 19:30, hash: rBdc4f3080fde5

ABSOLUTELY BRILLIANT!! This is literally the first time the NLA editor has worked correctly in over 5 years! This is an absolute MUST to commit this to the new release for 2.92. By the way, I compared your ultra-fantastic fixed build to the latest 2.92.0 build (2021-02-23 19:27, hash: rB6844b768f369), and there is NO comparison. The NLA editor in the release candidate is literally UNUSABLE: with 2 strips each set to "Hold", moving the bottom strip BEFORE the top strip changes the top strip to "Hold Forward", and moving the bottom strip AFTER the top strip changes the bottom strip to "Hold Forward" AND changes the top strip back to "Hold"! Truly an animator's nightmare... so I cannot endorse your excellent fix enough!!!

One thing I would like to ask though, what purpose does the Extrapolation and Blending settings serve in the "Edited Action" tab or when selecting a NLA track without an active strip? These settings appear to have no effect whatsoever in these locations, even when editing a strip, unless I am misunderstanding their intended use. The only time the "Extrapolation" and "Blending" settings actually have any effect is from the "Strip" tab, which is visible only when a strip is selected. If you could clarify the purpose of these settings in the other 2 locations mentioned, that would be greatly appreciated. Images shown below:

Thank you again for your incredible work-- and I can't wait to see this build merged into the official release! :-)

Best regards,
Adam Janz

EDIT: I can see now that the generic track settings for Extrapolation and Blending have an effect on new actions that have not yet been "pushed down" into strips. However, there does appear to be a bug here, as actions set to "Hold Forward" will incorrectly exhibit "Hold" behavior until they are pushed down into a strip. However, if the action in limbo has its Extrapolation set to "Nothing" it will behave as expected, even if not yet pushed down into a strip.

So minus the bug discovered, that does clear up one question about these settings, but I do not yet know what effect they have in the "Edited Action" tab. Thanks.

Thanks for testing it out! I doubt any of the fixes will get into 2.92 as that's releasing any day now.

For the bug: T82234: NLA: Action Track Hold Forward Inconsistency and already has a patch ready. There's no build to test it as it didn't seem necessary.

For the "Edited Action" tab, yes, that's for the non-pushed action (I call it the Action Track but I don't think there's an official name). It differs from the "Strip" tab which is for the active selected strip.

You're welcome, Wayde! And thanks for that explanation-- that clears things up. Glad to hear you've already made a patch for the Hold Forward inconsistency. :-) Looking forward to seeing this in the official release soon. Until then, I will 100% be using your December 30th build for any serious animation work! Have a great day!