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
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?
Description of bug / unexpected behavior
When calling
Create(mobj), updaters onmobjcontinue running even though the default value of the parametersuspend_mobject_updatinginAnimation(whichCreateis a descendant of) isTrue. This means that settingsuspend_mobject_updatingeffectively does nothing, which I am fairly certain is not intended behavior.Expected behavior
What I expected is for any updaters on the
mobjpassed toCreateto be paused whileCreate(mobj)is occurring.How to reproduce the issue
The issue can be reproduced by adding an updater to any
Mobject, then callingCreate(mobj). For comparison, callingCreate(mobj, suspend_mobject_updating=Falsewill give the same result, even though it shouldn't.Code for reproducing the problem
Additional media files
Images/GIFs
Notice how the shifting updater continues throughout the
Createanimation, even though the lower dot hassuspend_mobject_updatingset toTrue.Logs
Terminal output
System specifications
System Details
python/py/python3 --version): Python 3.14.2pip list):LaTeX details
Additional comments
Is it possible that this could affect other animation methods like
FadeInorDrawBorderThenFill?