Blueprint Basics · Beginner · 13 min
Event Graph Basics: BeginPlay, Nodes, and Wires Explained
Make your Blueprint actually do something: use Event BeginPlay to fire an action when the game starts, drag off pins to add nodes, tell white execution wires from coloured data wires, and prove it ran with Print String.
Before this: What Is a Blueprint? Create Your First One (No Code Required), Press Play and Test Your Level for the First Time
- Understand the "events trigger actions" model behind every Blueprint
- Use Event BeginPlay to run something the moment the game starts
- Drag off a pin to add a connected node, and tell white execution wires from coloured data wires
- Wire up Print String and confirm your Blueprint ran on screen
The one idea that makes Blueprints click
If your last lesson left you staring at an empty Event Graph wondering what to actually do with it, you're in exactly the right place. Almost everything in Blueprints comes down to one simple sentence: an event happens, and in response, actions run. The player presses a key — fire a gun. Two things touch — pick up a coin. The game starts — set everything up. That's it. Master that pattern once and every Blueprint you ever read suddenly makes sense.
In this lesson we'll use the most fundamental event of all, Event BeginPlay, which fires once the instant the game starts. We'll hang a single action off it — printing a message to the screen — so you can see, with your own eyes, your Blueprint running. Tiny result, huge moment: it's the first time your logic actually does something. Let's get it on screen.
Don't worry about memorising menus. The goal here is the mental model, not the trivia. Wires, pins and nodes will feel strange for about ten minutes and then become invisible.
Five words you'll hear constantly — drill them first
Tap a card to flip it
Events trigger actions: the model in plain English
Picture a row of dominoes. The first domino is the event — Event BeginPlay. When the game starts, something flicks it. The white execution wire is the line of dominoes: it carries the 'go!' signal from one node to the next, in order, left to right. Each node it reaches does its job, then passes the signal on.
Coloured data wires are different. They don't make anything happen and they have no order. They just hand a value to a node that asked for one — like passing an ingredient to a chef who's already cooking. White says WHEN; colour says WHAT WITH. Keep those two jobs separate in your head and Blueprints stop being intimidating.
Make your Blueprint print 'Hello' when the game starts
Open the Blueprint you created in the previous lesson (or make a fresh Blueprint Actor) and click the 'Event Graph' tab at the top. Work top to bottom — each row stays ticked even if you close the page and come back.
- 1Find Event BeginPlay (it's probably already there)
When you open the Event Graph of a brand-new Blueprint, Unreal often drops a few faded grey event nodes in for you — including 'Event BeginPlay'. Faded just means 'placed but not wired up yet'. It has a single white output pin on its right edge with a small arrow.
If you don't see it, right-click on the empty graph, type 'BeginPlay' into the search box that appears, and click 'Event BeginPlay' to place it.
TipRight-click on empty graph space is your universal 'add a node' move. The search box filters as you type — you almost never scroll the menu.
- 2Drag off the white pin to add the next action
Left-click and hold the white output pin on the right of Event BeginPlay, then drag the wire out into empty space and let go. A search menu pops up — and crucially, it's already filtered to nodes that can connect to an execution wire.
This 'drag-off-a-pin' habit is the fastest way to build graphs: the wire connects itself the moment the new node appears, so you never have to wire it by hand.
TipDragging off a pin pre-filters the menu to compatible nodes only. It's both faster and a great way to discover what's even allowed to come next.
- 3Search for and place Print String
In the menu that opened from your dragged wire, type 'Print String' and click it. A new node appears, already joined to BeginPlay by a white execution wire — the arrow flows from BeginPlay into Print String.
Print String is the beginner's best friend: it slaps a message on the screen so you can confirm a piece of logic actually ran. You'll use it forever.
TipIf Print String doesn't show up, untick 'Context Sensitive' in the top-right of the search menu, search again, then re-tick it once you've found the node.
- 4Type your message into the In String field
On the Print String node, find the text field labelled 'In String'. It defaults to 'Hello'. Click it and type whatever you like — for example 'It works!'.
That little text box is a coloured (pink) data input baked right into the node. You could instead drag a pink wire into it from somewhere else, but typing straight in is perfect for now.
TipNotice the 'In String' pin is pink — pink is Unreal's colour for text (a 'String'). Each value type has its own colour, which is how you tell wires apart at a glance.
- 5Compile and Save
Click 'Compile' in the top-left toolbar of the Blueprint editor (the icon turns into a green tick when your graph is valid), then click 'Save'.
Compiling turns your visual graph into something the game can run. Get into the rhythm of Compile, then Save, every time you change a Blueprint.
TipA yellow question mark or red cross on the Compile button means 'not compiled yet' or 'there's an error'. A green tick means you're good to go.
- 6Place the actor in the level and press Play
Make sure an instance of this Blueprint is actually in your level — drag it from the Content Browser into the viewport if it isn't. Events only fire on actors that exist in the running game.
Press 'Play' (or Alt+P). The instant the game starts, your message appears in the top-left corner of the viewport. That's Event BeginPlay firing and the execution wire carrying the signal into Print String. You just ran your first Blueprint logic.
TipOn-screen Print String messages fade out after a couple of seconds by default. Don't blink — or bump up the node's 'Duration' value to keep it up longer.
Event Graph shortcuts worth knowing now
- Right-click (empty graph) Open the 'add a node' search menu
- Drag from a pin release Add a node already wired to that pin
- Alt click a wire/pin Break (delete) that connection
- Ctrl drag a wire Grab an existing wire and move its end to a different pin
- F2 Rename the selected node (e.g. add a comment to a Print String)
- C Wrap selected nodes in a comment box to label what they do
You dragged a wire out from BeginPlay's white pin but Print String is greyed out / won't connect to another node's input. What's going on?
You're almost certainly trying to connect two pins of different kinds. White execution pins only connect to other white execution pins; coloured data pins only connect to data pins of a matching (or convertible) colour. Unreal won't let you wire a value pin into the execution flow — they do completely different jobs.
Check the shape and colour: arrow-shaped white pin = execution (the 'when'); round coloured pin = data (the 'what with'). If a node looks greyed out in the search menu, it usually means it can't legally connect to the pin you dragged from. Drag from the correct pin, or place the node fresh with right-click instead.
Execution wires vs data wires, side by side
Shape: a pin with a little arrow ( ▷ ). Colour: white.
Job: controls ORDER. It carries the 'go now' signal from node to node, left to right, so things happen in sequence.
Example: BeginPlay → Print String. The white wire is what makes Print String actually fire.
Shape: a round pin (a circle or pill), no arrow. Colour: depends on the value type — pink for text (String), green for numbers, red for true/false (Boolean), blue for objects, and so on.
Job: carries a VALUE into a node that needs one. It doesn't make anything run and has no order.
Example: a pink wire feeding the 'In String' input of Print String, deciding WHAT text gets printed.
Add a SECOND Print String after the first one so two different messages appear in order when the game starts — for example 'Loading...' then 'Ready!'. The trick: they must print in the right sequence, top one first.
Hint 1
An event can lead to a whole chain of actions — just keep following the white wire.
Hint 2
Drag off the white OUTPUT pin on the right of your first Print String to add the second one.
Hint 3
Each Print String has its own 'In String' field — give them different text.
Hint 4
Remember the order is set entirely by the white execution wire, not by where the nodes sit on screen.
Event BeginPlay's white pin already runs into your first Print String (set its In String to 'Loading...'). Now drag off the white OUTPUT pin on the RIGHT of that first Print String and release into empty space.
In the menu, add another Print String and set its In String to 'Ready!'. You now have BeginPlay → Print String ('Loading...') → Print String ('Ready!') joined by one continuous white wire.
Compile, Save, and Play. Because the execution wire defines the order, 'Loading...' prints first and 'Ready!' second — proof that the white wire, not the layout, controls the sequence.
QuizCheck yourself
1When does Event BeginPlay fire?
BeginPlay fires once at the start — perfect for setup. The 'runs every frame' node is a different event called Tick.
2What does the WHITE wire with the little arrow control?
White execution wires carry the 'go' signal from node to node, deciding what runs and in what order. Colour comes from data wires.
3You want to add a node that's automatically connected to Event BeginPlay. The quickest way is to…
Dragging off a pin opens a pre-filtered menu and wires the new node up for you the instant it appears — the core graph-building habit.
You can now…
Tick these off — if all four are true, you've got the fundamental Blueprint model:
- Explain the 'an event happens, actions run in response' pattern in your own words
- Place or find Event BeginPlay and know it fires once when the game starts
- Drag off a pin to add a new, already-connected node
- Tell a white execution wire (order) from a coloured data wire (a value) at a glance
- Use Print String to prove a piece of logic ran
Mark this lesson complete
We'll remember it on your Academy page and unlock the next lesson below.
Questions beginners ask
What's the difference between Event BeginPlay and Event Tick?
BeginPlay fires once, the moment the game (or that actor) starts — ideal for one-time setup. Tick fires every single frame, over and over, while the game runs. Beginners reach for BeginPlay first; use Tick sparingly, because anything you put on it runs dozens of times a second and can hurt performance.
My Print String message never appears on screen. Why?
Check three things: that you actually placed an instance of the Blueprint in the level (events only fire on actors that exist in the running game), that the white wire really connects BeginPlay to Print String, and that you clicked Compile then Save before pressing Play. Also remember the message fades after a couple of seconds by default — increase the node's Duration if you keep missing it.
Why won't two pins connect when I try to wire them?
Pins only connect to compatible pins. White execution pins (with arrows) connect to other execution pins; coloured data pins connect to data pins of a matching or convertible type. You can't wire a value pin into the execution flow — they do different jobs. Match arrow-to-arrow and colour-to-colour.
Do the colours of data wires actually mean something specific?
Yes. Each value type has a consistent colour so you can read a graph at a glance: pink for text (String), green for numbers (Float/Int are close shades), red for true/false (Boolean), blue for objects, and more. You don't need to memorise them — you'll absorb the common ones naturally as you build.