I mostly used timeline node to create its movement, emotion, and SFX. Here are some explaination for each group from timeline.
Emotion, Scream (SFX), Camera Shake - I used event track to cause effect. For example, the block face changes when event track hits the key.
Location, Scale (Shadow) - I used vector track to move the block. These also require vector variable. In Location part, the block used only Z-axis to make an effect like Super Mario spiky block.
Rotation - I used float track to change its angle. Rotation requires rotator variable.
Color Change - I used color track to change its color freely. For changing material, I need to create Dynamic Material instances which allows to change color by itself.
In the game, there are three types of spiky blocks. The first block is moving block that has Location, Scale, Emotion, Scream (SFX). In addition, when players are in the trigger box, the block shakes and make alarm music, and drops to the ground for attack. The block also changes its emotion (static mesh) when it goes down. When players are on the block, the block changes its emotion and make sound.
Another Block is Spinning block that has Moving block mechanism+ Rotation+ Color Change. When players are in the trigger box, the block changes its eye color, and goes down to the ground. It also spins when it goes down.
Third Block is moving block, but it has a teleport that brings players into the death trap. For this trap, I changed the death trigger box to teleport node.
Different from first two blocks, I decided to experience (going beyond) with the last block. For the last block, it moves everywhere which means it moves x,y,z axis at the same times. It also spins in 360 degrees. I also added random node to cause different SFX for crash. Because of that, the block move in crazy pattern.
I found a interesting fact that the moving block works well even if it is angled, but not for other blocks that has a rotation node. In the map, I rotate the moving blocks in x, y, z axis and it works well. However, spinning blocks change its angle when it is tilted, but these go to the same direction as moving blocks.