Blueprint tutorial
Your First Blueprint: Making a Door Open on Overlap
Build a simple automatic door with an Actor Blueprint, Box Collision, and a Timeline so players walk up and get immediate feedback in-world.
1. Build the actor you will reuse
Create a new Actor Blueprint named BP_DoorAuto. Give it three components: a static mesh for the frame, a static mesh for the moving door, and a Box Collision that sits slightly in front of the doorway. This is already a useful indie-dev pattern: package the whole interaction into one actor so you can drag it into any level instead of rebuilding logic every time. Move the door mesh so its pivot feels correct for a swing. If the pivot is awkward, that is normal for placeholder art. The goal here is to learn how a Blueprint actor owns both its visuals and its trigger logic.
2. Wire overlap events into a clean open and close flow
Select the Box Collision and add both OnComponentBeginOverlap and OnComponentEndOverlap in the Event Graph. The first event means the player entered the trigger, and the second means the player left it. Connect Begin Overlap to a Timeline Play node and End Overlap to Timeline Reverse. This keeps the behavior readable: one event opens, one event closes. In early prototypes, readable graphs matter more than clever graphs because you will revisit them often while testing level flow. If you want to avoid AI or physics objects opening the door later, add a simple cast or tag check after the overlap event, but for a first pass keep the graph focused on player feel.
3. Let the Timeline drive the motion
Add a Timeline called DoorSwing and create one float track from 0 to 1 over about 0.6 seconds. A Timeline is perfect here because it gives you a controlled animation curve without leaving Blueprint. On the Update pin, add a Lerp (Rotator). Set A to the closed rotation and B to the open rotation, such as 0 degrees to 90 degrees on yaw. Feed the Timeline float into the Alpha input, then push the result into SetRelativeRotation on the moving door mesh. You now have a reusable pattern: Timeline outputs a value, Lerp turns that value into usable motion, and SetRelativeRotation applies it to the component that should move.
4. Tune it for game feel, not just correctness
Press Play and walk into the collision box. If the door snaps, check that the Timeline is actually connected to Update rather than Finished. If it rotates the wrong way, swap the open rotation from positive 90 to negative 90. If it opens too early, shrink the box so the player gets closer before the event fires. This is the part beginners often skip, but it is where a tutorial becomes shippable. Small changes to trigger size and open speed decide whether a door feels polished or distracting. Indie projects benefit from this kind of cheap polish because it adds responsiveness without asking for extra art or code systems.
5. Turn one example into a production habit
Once the actor works, duplicate it across the map. Because the logic lives inside BP_DoorAuto, each placed instance behaves the same way with almost no extra setup. That is the real lesson behind your first Blueprint: a Blueprint actor is more than a script. It is a reusable gameplay object with art, collision, and behavior living together. Later you can add a sound cue, a locked-door boolean, or a keycard check without changing the fundamental structure. For now, you have learned three core ideas Unreal uses everywhere: components define what the actor contains, overlap events define when gameplay starts, and Timelines let you turn a simple interaction into something players can feel immediately.