Discuss Scratch
- Discussion Forums
- » Questions about Scratch
- » Scratch 4.0
- KangaCoder
-
Scratcher
1000+ posts
Scratch 4.0
It's planned to be released in the second half of 2026.
- NPLol39-2_
-
Scratcher
100+ posts
Scratch 4.0
We're not entirely sure. Maybe early 2026, maybe it's not even called Scratch 4.0 at all.
Scratch Wiki states:
The possibility of an update under the name “Scratch 4.0” was first mentioned in November 2024 with developing new features for the update being a priority in 2025, but this does not guarantee that it will be released in 2025. What features it may contain are still unknown, and it is possible that depending on the number of new features added, it may simply be an update to 3.0 instead of 4.0.
- SkyCedar
-
Scratcher
500+ posts
Scratch 4.0
We've received tentative confirmation through combing job listings and stuff for what KangaCoder said. Also KangaCoder might have insider info from the mentor program.
- mingo-gag
-
Scratcher
1000+ posts
Scratch 4.0
also i started school 4 days agook and? is that even related to 4.0?
- Scratch_Cat_Coder8
-
Scratcher
1000+ posts
Scratch 4.0
kinda. the user started school 4 days ago and 4 is the main version number of scratch 4.0also i started school 4 days agook and? is that even related to 4.0?
- Rokid111
-
Scratcher
8 posts
Scratch 4.0
(Im just saying though) i guess i still make good games in 3.0kinda. the user started school 4 days ago and 4 is the main version number of scratch 4.0also i started school 4 days agook and? is that even related to 4.0?
- Player1Jeremy
-
Scratcher
31 posts
Scratch 4.0
If there is going to be, scratch 4.0? My opinion on the new code will be…
when stop sign is clicked
move variable [ v]
move list [ v]
turn off video [ v]
- Player1Jeremy
-
Scratcher
31 posts
Scratch 4.0
COPILOT's ANSWER:
Dreaming up Scratch 4.0 code blocks
I love this question—because it’s really about what you’re itching to create next. Let’s imagine the blocks that would unlock the projects you’ve been picturing but couldn’t quite build yet.
Core new blocks by category
Motion and physics
Velocity: set x velocity to / set y velocity to
Forces: apply force at angle for secs
Friction/drag: set friction to / set air drag to
Collisions: when I collide with / bounce with restitution
Containment: keep inside with margin
Events and control
Parameterized broadcast: broadcast with data
Event handler with data: when I receive → set to (event data)
Await and async: await then / do in parallel
Timer hats: when timer hits secs / every secs do
Debounce/throttle: throttle to every secs
Data and structures
Local variables: make variable for this script only
Dictionaries: set dict key to / get dict key / for each key in
Lists of lists: get item of list as list / deep copy list
Cloud lists/events: add to cloud list / when cloud list changes
Serialization: set to JSON of / parse JSON into
Sensing and “smart” blocks
Angle to sprite: angle to
Line of sight: has line of sight to within
Pitch detection: current pitch (Hz) / note name / confidence
Pose sensing (extension): when pose / get landmark
Color region sensing: percent of color inside region
Graphics and sound
Shaders/filters: set filter to / animate filter over secs
Vector pen 2.0: pen width follows speed / draw arc radius angle
Audio envelopes: set ADSR / play note for with instrument
Layer tags: send to layer group
Clones and performance
Clone loops: for each clone of do (runs per-clone safely)
Clone count: number of clones of
Cull offscreen: auto-delete clones offscreen
Mini scripts showing how they’d feel
1) Simple physics platformer
Code
when green flag clicked
set y velocity to 0
forever
apply force (gravity) at angle (-90) for (0.02) secs
if <key pressed?> then apply force (walkSpeed) at angle (0) for (0.02) secs
if <key pressed?> then apply force (walkSpeed) at angle (180) for (0.02) secs
if <collides with ?> then
set y velocity to 0
if <key pressed?> then apply force (jumpPower) at angle (90) for (0.1) secs
end
end
2) Multiplayer-safe lobby using cloud events
Code
when green flag clicked
broadcast with data (username)
when I receive
add (event data) to cloud list
when cloud list changes
say (join (length of ))
3) Custom blocks with return values (scripting sugar)
Code
define isOnScreen? (x) (y) -> Boolean
if <(x) > (-240) and (x) < (240) and (y) > (-180) and (y) < (180)> then
return (true)
else
return (false)
end
forever
if <isOnScreen? (x position) (y position)> then
set ghost effect to (0)
else
set ghost effect to (50)
end
end
Extensions that would supercharge projects
Machine learning lite:
Train classifier: train model with label from samples
Predict: predict label using model → confidence
Great for gesture controls, custom NPC behaviors, mood-driven music.
Networking rooms (moderated):
Rooms: join room
Dreaming up Scratch 4.0 code blocks
I love this question—because it’s really about what you’re itching to create next. Let’s imagine the blocks that would unlock the projects you’ve been picturing but couldn’t quite build yet.
Core new blocks by category
Motion and physics
Velocity: set x velocity to / set y velocity to
Forces: apply force at angle for secs
Friction/drag: set friction to / set air drag to
Collisions: when I collide with / bounce with restitution
Containment: keep inside with margin
Events and control
Parameterized broadcast: broadcast with data
Event handler with data: when I receive → set to (event data)
Await and async: await then / do in parallel
Timer hats: when timer hits secs / every secs do
Debounce/throttle: throttle to every secs
Data and structures
Local variables: make variable for this script only
Dictionaries: set dict key to / get dict key / for each key in
Lists of lists: get item of list as list / deep copy list
Cloud lists/events: add to cloud list / when cloud list changes
Serialization: set to JSON of / parse JSON into
Sensing and “smart” blocks
Angle to sprite: angle to
Line of sight: has line of sight to within
Pitch detection: current pitch (Hz) / note name / confidence
Pose sensing (extension): when pose / get landmark
Color region sensing: percent of color inside region
Graphics and sound
Shaders/filters: set filter to / animate filter over secs
Vector pen 2.0: pen width follows speed / draw arc radius angle
Audio envelopes: set ADSR / play note for with instrument
Layer tags: send to layer group
Clones and performance
Clone loops: for each clone of do (runs per-clone safely)
Clone count: number of clones of
Cull offscreen: auto-delete clones offscreen
Mini scripts showing how they’d feel
1) Simple physics platformer
Code
when green flag clicked
set y velocity to 0
forever
apply force (gravity) at angle (-90) for (0.02) secs
if <key pressed?> then apply force (walkSpeed) at angle (0) for (0.02) secs
if <key pressed?> then apply force (walkSpeed) at angle (180) for (0.02) secs
if <collides with ?> then
set y velocity to 0
if <key pressed?> then apply force (jumpPower) at angle (90) for (0.1) secs
end
end
2) Multiplayer-safe lobby using cloud events
Code
when green flag clicked
broadcast with data (username)
when I receive
add (event data) to cloud list
when cloud list changes
say (join (length of ))
3) Custom blocks with return values (scripting sugar)
Code
define isOnScreen? (x) (y) -> Boolean
if <(x) > (-240) and (x) < (240) and (y) > (-180) and (y) < (180)> then
return (true)
else
return (false)
end
forever
if <isOnScreen? (x position) (y position)> then
set ghost effect to (0)
else
set ghost effect to (50)
end
end
Extensions that would supercharge projects
Machine learning lite:
Train classifier: train model with label from samples
Predict: predict label using model → confidence
Great for gesture controls, custom NPC behaviors, mood-driven music.
Networking rooms (moderated):
Rooms: join room
/ leave room / when room message received [ ]
Rate limits & filters built-in: so it stays safe and smooth.
Math and randomness:
Weighted choice: pick [A:0.6, B:0.3, C:0.1]
Noise: perlin noise at [x y] scale [ ] for natural maps.
Hardware play:
Bluetooth gamepad: when button [A] pressed / joystick [x/y]
Local sensors: ambient light / orientation on mobile.
Quality-of-life polish
Breakpoints and watch: pause here / watch [variable/list item]
Error highlights: show which block failed and why (without stopping everything)
Comments that run: to-do [ ] checkbox that shows in the stage while testing
Scoped assets: costumes/sounds local to clones or scenes
- Rokid111
-
Scratcher
8 posts
Scratch 4.0
If there is going to be, scratch 4.0? My opinion on the new code will be…what do they dowhen stop sign is clickedmove variable [ v]move list [ v]turn off video [ v]
- BigNate469
-
Scratcher
1000+ posts
Scratch 4.0
If there is going to be, scratch 4.0? My opinion on the new code will be…Rejected suggestion (see the link to The Official List of Rejected Suggestions in my signature)when stop sign is clicked
Maybe! But there's also no indication of these being added.move variable [ v]move list [ v]
Already exists as part of theturn off video [ v]
turn video [on v]block's functionality- the dropdown includes an “off” option.
- joodgamer
-
Scratcher
3 posts
Scratch 4.0
I need and I want this block in 4.0
<(create clone) = ()>
<(create clone) < ()>
<(create clone) > ()>
Last edited by joodgamer (Aug. 18, 2025 09:33:00)
- joodgamer
-
Scratcher
3 posts
Scratch 4.0
I need and I want this block in 4.0
<(create clone of [ v]) = ()>
Last edited by joodgamer (Aug. 18, 2025 09:33:15)
- caominh14102015
-
Scratcher
4 posts
Scratch 4.0
when @stopSign clicked :: hat :: events
3D X
) Y
) Z
) :: pen
touching color ?
set stretch by (100)% :: looks
change stretch by (10) :: looks
while <> {
} :: control
set pen color to
for each in (10) {
}:: control
() ^ of () :: reporter :: operators
perivious costume :: looks
3D X
) Y
) Z
) :: pentouching color ?
set stretch by (100)% :: looks
change stretch by (10) :: looks
while <> {
} :: control
set pen color to
for each in (10) {
}:: control
() ^ of () :: reporter :: operators
perivious costume :: looks
- Discussion Forums
- » Questions about Scratch
-
» Scratch 4.0












