Skip to content

Create() does not suspend Mobject updating #4763

@Coppernoggin

Description

@Coppernoggin

Description of bug / unexpected behavior

When calling Create(mobj), updaters on mobj continue running even though the default value of the parameter suspend_mobject_updating in Animation(which Create is a descendant of) is True. This means that setting suspend_mobject_updating effectively does nothing, which I am fairly certain is not intended behavior.

Expected behavior

What I expected is for any updaters on the mobj passed to Create to be paused while Create(mobj) is occurring.

How to reproduce the issue

The issue can be reproduced by adding an updater to any Mobject, then calling Create(mobj). For comparison, calling Create(mobj, suspend_mobject_updating=False will give the same result, even though it shouldn't.

Code for reproducing the problem
from manim import *

class CreateUpdaterBug(Scene):
    def construct(self):
        dot = Dot()
        def mobj_updater(mobj, dt):
            mobj.shift(RIGHT * dt)
        dot.add_updater(mobj_updater)
        
        dot1 = dot.copy().shift(UP).to_edge(LEFT, buff=0.1).set_color(RED)
        dot2 = dot.copy().shift(DOWN).to_edge(LEFT, buff=0.1).set_color(GREEN)
        self.play(Create(dot1, suspend_mobject_updating=False), Create(dot2, suspend_mobject_updating=True), run_time=4)
        self.wait(4)

Additional media files

Images/GIFs Image

Notice how the shifting updater continues throughout the Create animation, even though the lower dot has suspend_mobject_updating set to True.

Logs

Terminal output
PS C:\Users\julia\manimStuff> manim -v DEBUG -pqk temp.py CreateUpdaterBug
Manim Community v0.20.1

[06/02/26 17:16:03] DEBUG    Hashing ...                                               hashing.py:360
                    DEBUG    Hashing done in 0.004433 s.                               hashing.py:372
                    DEBUG    Hash generated :  34461856_3556613001_223132457           hashing.py:375
                    INFO     Animation 0 : Using cached data (hash :             cairo_renderer.py:94
                             34461856_3556613001_223132457)                                          
                    DEBUG    List of the first few animation hashes of the      cairo_renderer.py:103
                             scene: ['34461856_3556613001_223132457']                                
                    DEBUG    Animation with empty mobject                            animation.py:185
                    DEBUG    Hashing ...                                               hashing.py:360
                    DEBUG    Hashing done in 0.003761 s.                               hashing.py:372
                    DEBUG    Hash generated :  3166950890_1118930784_8613154           hashing.py:375
                    DEBUG    List of the first few animation hashes of the      cairo_renderer.py:103
                             scene: ['34461856_3556613001_223132457',                                
                             '3166950890_1118930784_8613154']                                        
[06/02/26 17:16:15] INFO     Animation 1 : Partial movie file written in                                             scene_file_writer.py:601
                             'C:\Users\julia\manimStuff\media\videos\temp\2160p60\partial_movie_files\CreateUpdaterB                         
                             ug\3166950890_1118930784_8613154.mp4'                                                                           
                    INFO     Combining to Movie file.                                                                scene_file_writer.py:753
                    DEBUG    Partial movie files to combine (2 files):                                               scene_file_writer.py:635
                             ['C:\\Users\\julia\\manimStuff\\media\\videos\\temp\\2160p60\\partial_movie_files\\Crea                         
                             teUpdaterBug\\34461856_3556613001_223132457.mp4',                                                               
                             'C:\\Users\\julia\\manimStuff\\media\\videos\\temp\\2160p60\\partial_movie_files\\Creat                         
                             eUpdaterBug\\3166950890_1118930784_8613154.mp4']                                                                
                    INFO                                                                                             scene_file_writer.py:904
                             File ready at                                                                                                   
                             'C:\Users\julia\manimStuff\media\videos\temp\2160p60\CreateUpdaterBug.mp4'                                      
                                                                                                                                             
                    INFO     Rendered CreateUpdaterBug                                                                           scene.py:278
                             Played 2 animations                                                                                             
[06/02/26 17:16:16] INFO     Previewed File at: 'C:\Users\julia\manimStuff\media\videos\temp\2160p60\CreateUpdaterBug.mp4'    file_ops.py:236
PS C:\Users\julia\manimStuff> 

System specifications

System Details
  • OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)): Windows 11 v25H2
  • RAM: 32 GB
  • Python version (python/py/python3 --version): Python 3.14.2
  • Installed modules (provide output from pip list):
Package            Version
------------------ ------------
argcomplete        3.6.3
audioop-lts        0.2.2
av                 16.1.0
beautifulsoup4     4.14.3
certifi            2026.2.25
charset-normalizer 3.4.7
click              8.3.1
cloup              3.0.8
colorama           0.4.6
contourpy          1.3.3
cycler             0.12.1
decorator          5.2.1
filelock           3.20.0
fonttools          4.61.1
fsspec             2025.12.0
glcontext          3.0.0
idna               3.11
isosurfaces        0.1.2
Jinja2             3.1.6
joblib             1.5.3
kiwisolver         1.4.9
manim              0.20.1
ManimPango         0.6.1
mapbox_earcut      2.0.0
markdown-it-py     4.0.0
MarkupSafe         2.1.5
matplotlib         3.10.8
mdurl              0.1.2
moderngl           5.12.0
moderngl-window    3.1.1
mpmath             1.3.0
narwhals           2.15.0
networkx           3.6.1
numpy              2.4.1
packaging          26.0
pandas             3.0.0
patsy              1.0.2
pillow             12.0.0
pip                26.0.1
pipx               1.8.0
platformdirs       4.5.1
plotly             6.5.2
pycairo            1.29.0
pydub              0.25.1
pyglet             2.1.12
pyglm              2.8.3
Pygments           2.19.2
pyparsing          3.3.2
python-dateutil    2.9.0.post0
requests           2.33.1
rich               14.3.1
scikit-learn       1.8.0
scipy              1.17.0
screeninfo         0.8.1
seaborn            0.13.2
setuptools         70.2.0
six                1.17.0
skia-pathops       0.9.1
soupsieve          2.8.3
srt                3.5.3
statsmodels        0.14.6
svgelements        1.9.6
sympy              1.14.0
threadpoolctl      3.6.0
torch              2.10.0+cu130
torchvision        0.25.0+cu130
tqdm               4.67.2
typing_extensions  4.15.0
tzdata             2025.3
urllib3            2.6.3
userpath           1.9.2
watchdog           6.0.0
LaTeX details
  • LaTeX distribution (e.g. TeX Live 2020): MiKTeX-pdfTeX 4.18 (MiKTeX 24.1)
  • Installed LaTeX packages: Likely not relevant, but will include if someone asks.

Additional comments

Is it possible that this could affect other animation methods like FadeIn or DrawBorderThenFill?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions