Each state has an optional variables section, listing any number of variables that referenced animations can use. Each state also has one or more animations, using the name given in the entity’s definition json.

State Variables

 Variables have their value set by a Molang Expression.  They can also have their value remapped via a linearly-interpolated curve.

For Example:

the animation controller for that frame. It will take the value of , then remap it to between 0.2 and 0.7 based on the value of going from 0.0 to 1.0. It will play one animation walk that will blend from 0.0 to 1.0 as the ground speed increases from stopped to The remap curve can have any number of entries. The animation controller will then play the entity-referenced animations, followed by the animation, scaling the latter by the value of .

  "format_version" "1.10.0",
  "animation_controllers" {
    "controller.animation.sheep.move" {
      "states" {
        "default" {
          "variables" {
            "ground_speed_curve" {
              "input" "query.ground_speed",
              "remap_curve" {
                "0.0" 0.2,
                "1.0" 0.7
            { "walk" "variable.ground_speed_curve" }

User-Defined Script Example

Note: pre_animation tells the script to figure out the values of those variables once a frame, before animation occurs, so that the animation can use those values in their own formulas. If a variable didn't exist, it will create a new variable and its default value will be 0.0

In definitions\entity\tiger.json:

      "pre_animation" {
        " = math.sin(query.life_time)"

from to -1 to 0 where only «base_pose» will play and then an equal amount of time where Walk will play on top of base_pose as foo goes from to 1 back to 0. will have a blend value of 1.0.

"controller.animation.tiger.move" {
  "states" {
    "default" {
        //animations are ADDITIVE unless otherwise specified
        //in this case, base_pose will always be playing in the default state
        //walk will play as well if is greater than 0.0
        { "walk" " > 0.0" }

3DS Max

One of the least used software for Minecraft animations, but it still has its following in the form of mostly lesser known creators. There are still some big names here and there, however.

  • Radiosity support
  • Easy map creation
  • Scene filtering
  • DWG file import
  • Constrained, curve-based animation
  • Ability to make models using inverse kinematics
  • Scripting in MAXScript
  • Node-based software extension
  • Powerful swift loop tool
  • Integration with SketchUp and the Unity and Unreal game engines
  • More information

Famous Users

  • Slamacow used 3DS Max in the past before transitioning to Autodesk Maya
  • Crafting Guys
  • NikNikamTV
  • CCMegaproductions
  • Terribly Good Videos
  • Christie Creative
  • 안경필름
  • Something That’s Good
  • Overchargedstudios
  • Smoking Sun Cinema
  • Vicanti Farron
  • MrBlockemz
  • Atomic Monkey
  • Slime Digital
  • TCONicon
  • Collin Black VFX
  • MXKhronos 2
  • Wolf555Hound
  • WitsZ
  • Enliven
  • Redanimator27
  • Zuexs
  • MaterialBlade
  • BalrogCreation
  • ZenRumiko
  • Gaspare nigam
  • motionmesh
  • xAIMxAnimations
  • Crafterino

Source Filmmaker

Out of all major 3D animation software that had Minecraft assets made for them, Source Filmmaker is the most rarely used tool for Minecraft animation. Often employed in crossover animations that involve characters from other series in the Minecraft world (Example: Heavy Meets Steve), or more usually the other way around, characters from Minecraft in other game worlds. Despite this, you’ll still find some «pure» Minecraft animated films out there made with SFM.

  • Free
  • Animation, modeling, compositing and video editing all in one pipeline
  • Massive load of community content, including various assets based on existing IP
  • Supports powerful effects such as the Tyndall effect, depth of field and dynamic lighting
  • «What you see what is you get» (WYSWIYG) environment
  • Integration with Garry’s Mod
  • Support for 4K resolution without outside software

Famous Users

  • FuturisticHub
  • Wild Hub
  • Springboi 2008
  • Craft Smile
  • Mr. SP
  • Kamehamecraft Animations
  • Jaze Cinema
  • Typhoon Cinema
  • Jakub Brokl
  • Oxygen1um
  • Good Creations
  • MinecraftProduced
  • TAV
  • iPixelStone
  • XboxGamerK (In an animation made for CG5 and uploaded on the latter’s channel)
  • Nerd_Boy
  • Tik
  • Ventuxeo

Adding Animations[]

Entity Definition

  "format_version" "1.10.0",
  "minecraft:client_entity" {
    "description" {
      "identifier" "minecraft:pig",
      "min_engine_version" "1.8.0",
      "materials" { "default" "pig" },
      "textures" {
        "default" "textures/entity/pig/pig",
        "saddled" "textures/entity/pig/pig_saddle"
      "geometry" {
        "default" "geometry.pig.v1.8"
      "animations" {
        "setup" "animation.pig.setup",
        "walk" "animation.quadruped.walk",
        "look_at_target" "animation.common.look_at_target",
        "baby_transform" "animation.pig.baby_transform"
      "scripts" {
          { "walk" "query.modified_move_speed" },
          { "baby_transform" "query.is_baby" }
      "render_controllers"  "controller.render.pig" ],
      "spawn_egg" {
        "texture" "spawn_egg",
        "texture_index" 2

This means you will not see the move animation in the pig.json animation file either. If you would like to make a custom pig walk you can change this line to point to your custom animation.
Animations are specified as a short name, followed by their full resource name. The short name is used in animation controllers and the list, while the long name is used in the animations file.
In the `scripts/animate` section, you list the animations to play and in which order. You can either specify an animation directly, or specify a blend expression.

Animation Controller

While a lot of this can be managed in the entity definition section, animation controllers give you the functionality of a state machine into states and control them as a block. Animations in an animation controller state can be animation controllers themselves, allowing for arbitrarily complex animation hierarchies.

Here’s a sample animation controller:

  "format_version" "1.10.0",
  "animation_controllers" {
    "controller.animation.my_mob.move" {
      "initial_state" "moving",
      "states" {
        "moving" {
            { "walk" "query.modified_move_speed" }
            { "grazing" "query.is_grazing" }
        "grazing" {
          "animations"  "grazing" ],
            { "moving" "query.all_animations_finished" }


Note that the channels (x, y, and z) are added separately across animations first, then converted to a transform once all animations have been cumulatively applied.

or a run-time interpreted script:

"rotation" "cos(query.anim_pos * 38.17) * 80.0 * query.anim_speed", 0.0, 0.0

Here is an example from quadruped.animation.json in the vanilla resource pack’s animation folder:

  "format_version" "1.8.0",
  "animations" {
    "animation.quadruped.walk" {
      "anim_time_update" "query.modified_distance_moved",
      "loop" true,
      "bones" {
        "leg0" { "rotation"  "Math.cos(query.anim_time * 38.17) *  80.0", 0.0, 0.0  },
        "leg1" { "rotation"  "Math.cos(query.anim_time * 38.17) * -80.0", 0.0, 0.0  },
        "leg2" { "rotation"  "Math.cos(query.anim_time * 38.17) * -80.0", 0.0, 0.0  },
        "leg3" { "rotation"  "Math.cos(query.anim_time * 38.17) *  80.0", 0.0, 0.0  }


Example Array for geometry from the sheep JSON:

"arrays" {
  "geometries" {
    "Array.geos" "Geometry.default", "Geometry.sheared"
"geometry" "Array.geos",

Example Array for materials from the spider JSON:

"arrays" {
  "materials" {
    "Array.materials" "Material.default", "Material.invisible"
"materials" " }],

Example Array for textures from the villager JSON:

"arrays" {
  "textures" {
    "Array.skins" "Texture.farmer", "Texture.librarian", "Texture.priest", "Texture.smith", "Texture.butcher"
"textures" "Array.skins"

Example with color for tinting of parts from Armor 1.0 render controller JSON:

"format_version" "1.8.0",
"render_controllers" {
    "controller.render.armor.chest.v1.0" {
        "arrays" {
          "materials" {
          "textures" {
        "geometry" "geometry.armor",
          { "body" "array.armor_material" },
          { "leftarm" "array.armor_material" },
          { "rightarm" "array.armor_material" }
          { "*"  },
          { "body" "query.has_armor_slot(1)" },
          { "leftarm" "query.has_armor_slot(1)" },
          { "rightarm" "query.has_armor_slot(1)" }
        "color" {
          "r" "query.armor_color_slot(1, 0)",
          "g" "query.armor_color_slot(1, 1)",
          "b" "query.armor_color_slot(1, 2)",
          "a" "query.armor_color_slot(1, 3)"
        "textures" "array.armor_texture", "texture.enchanted"

Example with is_hurt_color from Creeper render controller JSON:

"format_version" "1.8.0",
"render_controllers" {
    "controller.render.creeper" {
        "geometry"  "Geometry.default",
        "materials"  ,
        "textures"  "Texture.default",
        "is_hurt_color"  {
          "r" 0.0,
          "g" 0.0,
          "b" 1.0,
          "a" 0.5,

Example with on_fire_color from Fireball render controller JSON:

"format_version" "1.8.0",
"render_controllers" {
    "controller.render.fireball" {
        "geometry"  "Geometry.default",
        "materials"  ,
        "textures"  "Texture.default",
        "on_fire_color"  {
          "r" 0.0,
          "g" 0.0,
          "b" 0.0,
          "a" 0.0,

Example with overlay_color from Wither Boss render controller JSON:

"format_version" "1.8.0",
"render_controllers" {
    "controller.render.wither_boss" {
        "arrays" {
          "textures" {
            "Array.wither_state" "Texture.invulnerable", "Texture.default"
        "geometry"  "Geometry.default",
        "materials"  ,
        "textures"  "Array.wither_state"],
        "overlay_color"  {
          "r" "variable.is_invulnerable ? 1.0 : this",
          "g" "variable.is_invulnerable ? 1.0 : this",
          "b" "variable.is_invulnerable ? 1.0 : this",
          "a" "variable.is_invulnerable ? query.overlay_alpha : this"

Example with part_visibility for turning on and off visibility of parts from Llama JSON:

"format_version" "1.8.0",
"render_controllers" {
  "controller.render.llama" {
    "arrays" {
      "textures" {
        "Array.base" "Texture.creamy", "Texture.white", "Texture.brown", "Texture.gray"],
        "Array.decor" "Texture.decor_none", "Texture.decor_white", "Texture.decor_orange", "Texture.decor_magenta", "Texture.decor_light_blue", "Texture.decor_yellow", "Texture.decor_lime", "Texture.decor_pink", "Texture.decor_gray", "Texture.decor_silver", "Texture.decor_cyan", "Texture.decor_purple", "Texture.decor_blue", "Texture.decor_brown", "Texture.decor_green", "Texture.decor_red", "Texture.decor_black"
    "geometry" "Geometry.default", 
    "part_visibility" ,
    "materials" ,

Material array example from Horse render controllers. Saddle will override Mane, which will override TailA, etc.:

  { "*" "Material.default" },
  { "TailA" "Material.horse_hair" },
  { "Mane" "Material.horse_hair" },
  { "*Saddle*" "Material.horse_saddle" }


One of the most popular tools for independent creators due to it being free.

  • Free and open-source
  • Animation, modelling, visual effects, compositing and video editing all in one
  • Hundreds of free plug-ins (several of which are Minecraft-related)
  • Various different render styles
  • Python scripting for custom animation logic
  • More information

Famous Users

  • Black Plasma Studios
  • ZAMination (Until November 2020)
  • AnxiousCynic
  • PixelZnimation
  • Golden Diamond Animations
  • Boxscape Studios
    • Derpy Duck Animations
    • HP Park
  • NinjaCharlieT
  • MrFudgeMonkeyz
  • EnchantedMob (Until April 2016)
  • Joak Movies
  • Atomic Monkey
  • ToppleTheCat
  • Achebe Animations
  • FaintTurnip
  • Dillongoo
  • Cocoreysa
  • CrownedPixel
  • Minute Minecraft Parodies
  • MomentarilyEpic
  • Flashcode
  • (Formerly Rymdinsse)
  • Auroea Animations
  • Ekrcoaster
  • Bravo Animations
  • PixelFrosty
  • Noah Eckmeyer
  • FPD Studios Gaming
  • Blue Creeper
  • Revinance
  • TheDuckCow
  • WillEnriCraft
  • EmigeDaniel
  • Called8
  • Helios Animation
  • Knights of Ardonia

Cinema 4D Studio

By far the most used animation app when it comes to Minecraft animation, with a giant majority over Blender and Mine-Imator.

  • Paid with free trial (price depends on the modules)
  • More powerful integration with Adobe After Effects
  • Easy-to-use editor
  • Fast rendering and support for powerful render engines like Renderman (CineMan), Maxwell, Mentalray, Vray etc.
  • Many «cute» Minecraft rigs with large anime-like eyes
  • Powerful smoke and fire effect simulation
  • More information

Famous Users

  • Element Animation
  • Rainimator/ Redstone Records
  • FrediSaal Animations
  • FedoraCO
  • Blue Monkey
  • Faris Sayyaf
  • Targate
  • Animationcraft
  • The Pals
  • Rusplaying (Strictly in animations made for others, and in older videos on his own channel. Newer animations on his own channel are made in Mine-Imator)
  • MrStruse
  • Weedlion
  • BlackArmorVideos
  • LateZ Animations
  • TheBlueJerome (Has made animations for Nano Active Productions and others)
  • TheAtlanticCraft
  • Authentic Games
  • Hyperdream Studios (Animators are WhiteWolfGaming and Max Creations)
  • AlexBroAnimation
  • Minute Minecraft Parodies
  • TheFearRaiser (Has made animations for others before)
  • ResolveDZN
  • TheIronmaski
  • Craftlive Creations
  • MotionMiracles
  • Pablos Creations
  • NullCraft
  • XelaCreations
  • Krefix
  • TheNerdHerd
  • MaAlphaman (Has made animations for Authentic Games and others)
  • xAIMxAnimations
  • JoJo C
  • AnimaterCraft
  • UnrealAnimatics
  • TheMrJooJo (Has made various animations for Ryguyrocky)
  • Enliven
  • MineCrap
  • Anishwij
  • TeamWnJ


Despite its negative reputation among users of other software, this app is nonetheless very popular and potent.

  • Free but closed-source
  • Made specifically for Minecraft films
  • Extensive community support
  • Easy to use
  • Built-in Minecraft world exporter (no need for Mineways or other software)
  • Easy one-click spawning of mobs, items etc.

Famous Users

  • AnxiousCynic
  • Steve Lycinadale
  • MC Songs by MC Jams
  • ZNathanStudioZ (Source)
  • Batman4014
  • Mebig
  • Multitudinous Monster School animators
  • Cazakoja
  • Ironwave Studios
  • PixelNitroz
  • WilleFilmz
  • Supah.exe
  • EthanAnimatez
  • Kenimation
  • King Apdo
  • SharpWind
  • Craftronix
  • QC Animations
  • Hozq
  • Tysteria
  • HTB Animations
  • Virdi
  • ShotU
  • KeepOnChucking
  • PixelFrosty


  • According to the calendar on the desktop, the events of this installment took place on December 15th, 2015.
  • Edited stock footage from Animator vs Animation 4 is used, as well as an edited reused scene from this installment when The Second Coming lapses into memories of Red.
  • This is the first installment where Adobe Flash

    It is also the second installment not to feature Noogai3 after Animator vs Animation.

    is not involved in the plot in any way (although its logo can be seen).

  • Alan Becker initially claimed that he had no plans to create an Animation vs. League of Legends installment, despite the implications of the ending. While he eventually went back on this, the Animation vs. League of Legends that came to be didn’t directly pick up from where this one ended.
  • All sounds from Animator vs Animation 4 are reused in this installment.
  • Excluding the edited stock footage from Animator vs Animation 4, this is, to date, the only Animator or Animation vs video in which Becker himself is not featured even by a computer mouse.
  • The Required Essay from Animator vs. Animation and Animator vs. Animation 2 is shown in the stuff folder in the storage folder. There is also a backup variant of the same essay.
  • This is the last video to take place on Windows 7.
  • The League of Legends HUD is actually Garen’s HUD, just re-edited.

State Transitions[]

Each transition has a target state to switch to, and a script for whether it should switch or not. For each transition in order, evaluate the script, and if it returns non-zero, switch to the specified state immediately.

NOTE: Only one transition will be processed per frame.
"<controller_name>" {
  "states" {
    "<state_name>" {
        // Evaluate the below expressions in order.
        // The first to return non-zero is the state to transition to.
        // If all are zero, then don't transition.
        { "<target_state_name_A>", "<expression>" },
        { "<target_state_name_B>", "<expression>" },

For example:

"controller.animation.tiger.move" {
  "states" {
    "default" {
      "animations"  "base_pose", "walk" ],
        { "angry" "query.is_angry" }, // transition to angry state if query.is_angry returns true
        { "tired" "variable.is_tired" } // transition to tired state if variable.is_tired returns true
    "angry" {
      "animations"  "roar", "extend_claws" ],
        { "default" "query.any_animation_finished" } // transition back to default state when either the roar animation or extend_claws animation finishes
    "tired" {
      "animations"  "yawn", "stretch" ],
        { "default" "query.all_animation_finished" } // transition back to default state when the yawn and stretch animations have both finished


At the beginning of the episode, The Second Coming steps on the Minecraft logo when a HUD appears above his head. He then proceeds to take the block from the taskbar, test out Creative mode, and then builds himself a house.

The block is subsequently passed between Green he Fighting Stick Figures, who perform increasingly audacious feats. makes a windmill (which is animated), Blue lays down plants and trees to make a farm, and Yellow creates a beacon tower with colored lenses. But the fun ends when Red is seemingly possessed, beats up the other stick figures, and disappears with the Creative block.

The Second Coming disassembles Green’s windmill and Yellow’s beacon tower to craft tools, armor, and weapons. Setting out in search of Red, they find themselves pitted against zombies, skeletons, and creepers. Once, Blue uses a dispenser to shoot arrows back at a giant mob of skeletons, but a creeper sneaks behind them and blows up, sending arrows everywhere. Later, a second creeper explosion reveals a wall of netherrack behind the desktop wallpaper, and the stick figures dig a tunnel through it to investigate.

The group emerges in the Nether, where they find more mobs and feast on apples to regain their strength. They then discover Red, who, to counter his friends’ trying to get the block, shoots cobblestone at them. However, Green manages to get to Red, who is revealed to have been possessed by Herobrine. Red then builds himself a giant cobblestone stick figure mech, which then turns to obsidian when his friends start mining him down.

The Second Coming watches in horror as Red beats his friends down to half a heart before managing to break the giant’s back. Unfortunately, Red rebuilds himself and beats The Second Coming down to half a heart as the latter lapses into memories of his old friend. Before Red can finish any of them, the sticks beat a hasty retreat back to the desktop. Undeterred, Red tunnels after them. The stick figures try and get their weapons out, but it turns out that they are all broken. The Second Coming throws down his broken diamond sword and equips a bunch of sticks. He then makes Green equip his fishing rod, Blue’s spruce saplings, and Yellow’s (again) fishing rod. Red comes through with his monster stick figure, but the stick figures have all disappeared.

Green and Yellow then appear and tether down the stick figure with their fishing rods. The Second Coming then crafts a cart track and a mine cart under Red’s foot, who then slips and falls as Blue sprouts two spruce trees under the giant stick figure, breaking it apart. A fight for the block ensues, which ends with The Second Coming throwing it into the Recycle Bin, which in turn restores the desktop to normal.

In the recuperation, Herobrine is expunged from Red and subsequently dies. Red recovers as his friends surround him. Anticipating a heavy beatdown, he is surprised when his friends embrace him with a hug. The group starts to head off until Yellow stumbles upon the League of Legends logo. He takes hold of it, and a (League of Legends) HUD appears over his head, attracting the attention of his friends…

The best way to create animated Minecraft videos

Motionden is an excellent Minecraft animator that can help you make everything you need to set your video content apart from the rest.

Our cloud-based Minecraft video maker is fully cloud-based, meaning that you can make fully-customized Minecraft animations in minutes without needing to download any bulky enterprise animation software, that just always seems to take-up valuable hard-drive space.

Best of all, Motionden is free to use, you won’t even need a credit card required to get started.

While Fortnite seems to be the next big thing in gaming, some people simply aren’t interested in fast-paced battle royale gameplay. When you just want to lean back and escape from the world for a little bit, what’s better than Minecraft?

Upgrade from v1.7 Beta to v1.8[]

To upgrade previous scripts, you’ll want to do the following steps to all of your Molang scripts in the order listed:

  1. —>
  2. —>
  3. —>
  4. —>
  5. The general rule is that query represents read-only values from the entity the script is running on, and variable represents read-write data created by the user.
  6. We’ve adopted snake_case for all names of things. You are welcome to use upper-case letters if you wish as we are case-insensitive, however we recommend snake_case in general.
  7. Several variables previously set on mobs have been changed to use the format. Look through the updated list below to see what has been added and changed.


Continuous Example
"head" {
  "rotation" {
    "0.5"  , 180, ],
    "1.0" , 360, 
Discontinuous Example

This example scales the bone «head»:

  1. From to 0.5 seconds, the head bone is set to its normal scale of 1 in all dimensions ;
  2. At 0.5 seconds, the bone will instantly scale up to 2 times its normal size;
  3. From 0.5 to 1 second («post»), the bone will re-scale back to its normal size of scale of 1 in all dimensions.
Note: In the larger example above of the file format, "pre" and "post" can also be defined by a Molang expression that calculates that value at runtime, allowing you to have a mathematically defined curve instead of being purely linear.
"head" {
  "scale" {
    "0.5" {
      "pre" 1, 1, 1],
      "post" 2.0
    "1.0"  1.0 

Making a Minecraft intro: things to remember

Whether you’re looking to add awesome gaming video animations to your social media page or just looking to brand your gaming hobby with a cool intro, there are a few things you should remember that’ll help you stand out from the crowd.‍

First impressions are everything

When using our Minecraft animation maker to create your intro, you have to remember that first impressions matter more than anything. You have to start off your intro strong and ensure that it grabs the attention of the viewer, as that will help your channel’s retention.

Short, sweet, and to the point

Part of ensuring that your viewers actually stick around through your intro is making your intro quick enough not to interfere with the flow of the video. You’ll also want to make sure that the quality of your intro is up to par, as a poorly-made video intro will make it difficult for your viewer to remain interested.

Branding always matters

One of the main reasons that you’ll need an intro and an outro is to expand your overall brand. Every time someone sees your intro, your brand will grow a little more prevalent in their mind, making you the go-to option when they want to view a Minecraft authority, and they may even end up recommending you to their friends.

Add completeness to your video

Using a Minecraft intro creator to add an introduction to your Minecraft videos has more benefits beyond simple branding. For instance, an intro will help ease your viewer into the video, and it may even give you a chance to start talking before the gameplay itself starts.

Match the theme of your channel

Another key to using a Minecraft video maker to the best of your abilities is ensuring that the intro and outro match the style of your brand. For example, you won’t want to include a calm intro if your Minecraft video is suspenseful. Be sure to stay in line with the theme that you establish so as not to provide the viewer with mixed messages.

Inventory Icons[]

List of Animated Inventory Icons

This list is incomplete; you can help by expanding it.

Item Animation Animation in

inventory size

Bottle o’ Enchanting
Bubble Column ‌[BE only]
Chain Command Block
Command Block
Crimson Stem
Crimson Hyphae
Debug Stick ‌[JE only]
Enchanted Book
Enchanted Golden Apple
End Crystal
Fire ‌[BE only]
Heat Block ‌[BE & EE only]
Lava ‌[BE only]
Lingering Potion
Lodestone Compass ‌[JE only]
Lodestone Compass ‌[BE only]
Magma Block
Nether Portal ‌[BE only]
Nether Star
Prismarine Stairs
Prismarine Slab
Prismarine Wall
Repeating Command Block
Sculk Sensor ‌[upcoming]
Sea Lantern
Soul Fire ‌[BE only]
Splash Potion
Warped Hyphae
Warped Stem
Water ‌[BE only]
Written Book

State Blending[]

to the time you would like the system to take in blending between the two states. This is done as a simple lerp between the two states over the time specified.

For example:

"controller.animation.tiger.move" {
  "states" {
    "default" {
      "animations"  "base_pose", "walk" ],
        { "angry" "query.is_angry" } // transition to angry state if query.is_angry returns true
      "blend_transition" 0.2          // when transitioning away from this state, cross-fade over 0.2 seconds
    "angry" {
      "animations"  "roar", "extend_claws" ],
        { "default" "query.any_animation_finished" } // transition back to default state when either the roar animation or extend_claws animation finishes

Customizable Minecraft animation templates

Simplicity is at the core of what we do.

Motionden’s Minecraft animation software allows you to fully customize Minecraft animations from ready-made templates.

After signing up, you’re given a range of templates to choose from, and these will end up being the foundation for your video or intro. Once you’ve selected one that matches your channel’s theme, you can then move on to making it your own.

You have a range of customization options at your disposal when you are in the editing process. For example, you can personalize the colors so that they match the theme of your channel. Other things you can change include the background music and text, and you can even add your own photos and videos.