When comparing Scratch vs Unity 2D, the Slant community recommends Unity 2D for most people. In the question“What are the best 2D game engines?” Unity 2D is ranked 7th while Scratch is ranked 42nd. The most important reason people chose Unity 2D is:
2D game creation was a major feature request from the Unity community and was added with version 4.3. 2D is provided in both the Pro and Free distribution of Unity.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Visual
Code is represented as visual building blocks that makes it easy to understand how a program is put together.
Pro Great starting point for kids
Scratch was developed specifically for kids ages 8 and up as an exciting way to introduce them to technology. It's designed to be easy to learn, but still provides good depth in computational thinking.
Pro Easy to learn
Scratch is designed to teach computational thinking rather than focus on specific syntax. It was designed specifically to be easy to learn for anyone over the age of 8.
Pro Highly structured
The language is highly structured. Therefore, it gives you the essentials of how to think like a programmer and teaches you good programming practices from early on, so you could write clean, working and readable code in the future.
Pro No need to be able to type
Pro Can be used to create games
Pro Built into Unity 4.3+
2D game creation was a major feature request from the Unity community and was added with version 4.3. 2D is provided in both the Pro and Free distribution of Unity.
Pro Integrates with Mecanim
Mecanim brings state machines and blending to 2D bone animation. The state machine editor allows for designers and programmers to visually create a Finite State Machine (FSM) to control when animations should play. Mecanim also allows for blending so an animation can transition smoothly between two states without the need of in between frames made by an animator.
Pro Sprite Sheet and Bone based animation supported
Both types of 2D animation for game development are supported in Unity’s system and can be used interchangeably in the timeline.
Pro Easily change sprites dynamically
Usually used for character customization, programmers can change any sprite in a bone animation at runtime easily by referencing the bone and loading the new sprite from the resources folder.
Cons
Con For kids
For kids.
Con Won't get you a job
Scratch is not a language used in the workplace. Instead it teaches computational thinking, helping to create a foundation to aid in learning other languages.
Con Does not teach you programming
Learning Scratch might help you if you have high difficulty with logical thinking. However, starting with a proper programming language, especially an easy one, will give you the benefits of starting with something like Scratch and everything else.
Con Strange OOP
Scratch has a very strange implementation of OOP that is sprite based, and will become very confusing when you move to other languages.
Con Weird
It's straight up weird.
Con Lacks critical features
- Vertices can't be animated, so you can't have ANY organic feel (like... lungs breathing).
- Parent bone can't be animated without affecting the children. This is especially impeding for organic feel, again.
- No option to show & unshow assets (or it is hidden), like for switching weapon on your character for exemple.
Con Poor script interface for texture atlases
Accessing individual sprites within an atlas texture is possible at runtime, but requires use of the Resources folder subsystem.