I've had no luck googling for it, yet. What do the red lines in the dope sheet mean? Screenshot


4 Answers 4


Both the dopesheet and the graph editor show a red line when the data path for the fcurve cannot be found. While most times the fcurve stays connected to the correct item, there can be times when this doesn't happen, most often when the item is renamed or deleted in an external file from the one containing the animation. You will also notice that the shown data path is the complete raw path when it is broken, rather than the more user friendly abbreviation.

If an item has been renamed, we can correct the data path in the fcurves properties panel in the graph editor. If the item was deleted then you can just delete each fcurve, you can do that by selecting it in the list and pressing X or ⌦ Delete.

graph editor editing data path

For a large number of items, it may be easier to make a script that will correct the data paths.


For anyone that needs to rename these for a relatively small number of animations (AKA Actions) and a small number of bones, you can do the following for each messed up animation:

Make sure you're in Pose Mode for that armature or have the Outliner open to select the bone

1) Select each messed up animation in the Dope Sheet (in Action Editor mode)

2) Rename the bone that should be referenced in that key (the thing with the dropdown arrow) to the name that it still has stored (See example below)

3) Then rename the bone back to the desired name (while the same action is selected)

enter image description here

Here, I have the messed up action selected and I would rename "Gun.R" back to "Gun" so it matches up with the messed up animation. Then, I would rename the bone back to "Gun.R" and the animation key will be renamed correctly and the red lines will go away.

It's not a practical solution for many messed up animations and bones, but it works for few..


use this script

import bpy
# Get the active action in the Action Editor
action = bpy.context.object.animation_data.action

# Create a list to store the channels to remove
channels_to_remove = []

# Iterate over each F-Curve in the action
for fcurve in action.fcurves:
    # Check if the RNA data path contains "pose.bones"
    if "pose.bones" in fcurve.data_path:
        # Extract the bone name from the RNA data path
        bone_name = fcurve.data_path.split('"')[1]

        # Check if the bone exists in the armature
        if bone_name not in bpy.context.object.pose.bones:

# Remove the channels with missing pose bones
for fcurve in channels_to_remove:

I think those are error keys getting generated by default when we animate..usually i just delete them to reduce the load on the file. This error gets generated every now and then.

  • 1
    $\begingroup$ Error keys getting generated by default? Why? $\endgroup$
    – Mentalist
    Jul 19, 2017 at 14:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .