AI NPCs you can actually talk to — Unreal Engine 5 + Pipecat C++ SDK — Transcript
Full transcript
- 0:01Hey, Orby
- 0:02Hey, John
- 0:03You know, I could really use a Pipecat C++ client SDK.
- 0:07Is there anything you can do about that?
- 0:09Sure, John, let's make some magic
- 0:17Pipecat C++ Client SDK has landed on Linux, macOS, and Windows.
- 0:22It'll also cross-compile for Aarch64 too, so that includes ARM boards.
- 0:26You can now build native compiled experiences that connect straight to
- 0:30your Pipecat agents with transports for WebSockets and Daily WebRTC.
- 0:39A Pipecat client that works outside the browser or a phone opens up a
- 0:42whole class of things: game engines, robotics, embedded devices and kiosks,
- 0:48native desktop apps, anything where you need low-level control of audio
- 0:52and a web view just isn't enough.
- 0:54And these new clients are the perfect excuse to put the Pipecat agent
- 0:57somewhere a bit more interesting.
- 0:58We could, for example, drop it into the Unreal Engine.
- 1:01Let's take a look at that
- 1:03I am a small spirit here to light your way.
- 1:06If you wish, I can bring the sun and shape the world around us.
- 1:10Uh, hello.
- 1:11What's your name?
- 1:13Hello.
- 1:14I do not have a name, but I am here to help you shape this empty place.
- 1:18What would you like to see first?
- 1:20Uh, okay.
- 1:21Well, I'll call you Orby.
- 1:23Uh, how about we add some light?
- 1:26I brought the sun up.
- 1:28Now the world is bright around us.
- 1:30And what about some clouds?
- 1:34I added some clouds to the sky above us.
- 1:39Looking good.
- 1:39It's a bit flat though.
- 1:40Can we, um, add some hills?
- 1:44I shaped the ground into rolling hills for us.
- 1:48And how about some mountains?
- 1:52Mountains now rise up around this valley
- 1:57Uh, and a bit of fog maybe
- 2:01A light fog now drifts through the mountain valley.
- 2:05But it's looking really good, Orby.
- 2:07Um, oh, I suppose we need some grass.
- 2:12I covered the ground with fresh grass.
- 2:16I added a few trees around us in the valley
- 2:21Looking good.
- 2:22Can I see what it looks like at dawn?
- 2:27I set the sky to dawn.
- 2:29The sun is just rising over the mountains
- 2:34How about a few more trees?
- 2:37Now a forest surrounds us, thick with trees
- 2:42I suppose we needed some water.
- 2:44Um, can you add a lake?
- 2:47I created a lake nearby, its water reflecting the dawn light.
- 2:51Whoa, you almost drowned me there, Ruby.
- 2:54Sorry about that.
- 2:55The lake is big, but you are safe on dry ground.
- 2:59in this demo, our little floating orb friend can shape the world around us.
- 3:03The NPCs hear you through spatial audio, so proximity and direction
- 3:07decide who's actually listening.
- 3:10A stone figure now stands nearby, silent and still in the moonless night.
- 3:16He's not very chatty.
- 3:19He will not speak while he is stone.
- 3:21If you wish, I can bring him to life.
- 3:24Uh, yeah, let's do that
- 3:27I touched the statue and brought him to life.
- 3:30He is waking up now.
- 3:33Where am I?
- 3:34Who are you?
- 3:35Everything feels strange
- 3:37Uh, hi.
- 3:38What's your name?
- 3:40I, I do not know.
- 3:42I do not remember any name.
- 3:45Um, well, how about we call you Frank?
- 3:48Frank.
- 3:49That sounds good.
- 3:50Thank you for giving me a name.
- 3:52Uh, this is my friend Orby.
- 3:54Uh, he's kind of cool.
- 3:55He makes stuff happen here.
- 3:58Hello, Orb.
- 3:59You are glowing.
- 4:01How do you make things happen?
- 4:03Hello, Frank.
- 4:04I shape the world when someone wishes for something new.
- 4:07If there is anything you would like to see, just ask.
- 4:11The game state and events flow both ways over RTVI, and those are
- 4:14the same messages you're already using in the web and mobile SDKs.
- 4:18So the bot knows what's happening in the world, and the world
- 4:21can react to the bot too.
- 4:23I brought the sunrise, filling the valley with warm morning light
- 4:29How do you like that, Frank?
- 4:31It is wonderful.
- 4:33The colors are gentle and bright.
- 4:36I feel warm inside.
- 4:37Thank you.
- 4:39Frank, why don't you ask Orbi for something else?
- 4:42I am not sure what else to ask for.
- 4:45The sunrise was perfect.
- 4:47What do people usually wish for?
- 4:49Frank, wind is the air moving across the land and through the trees.
- 4:54It can be a soft breeze or strong and wild.
- 4:57Would you like to feel it?
- 4:59Yes, Orbi, I would like to feel the wind.
- 5:02I think it might make me smile.
- 5:05A gentle breeze now stirs the trees and brushes against your face, Frank
- 5:12And how about we add a river?
- 5:17I brought a river flowing
- 5:20through the valley, sparkling in the sunlight
- 5:23Well, you almost drowned Frank
- 5:28I am all right.
- 5:29The river looks beautiful, but I am glad I am not.
- 5:33Thank you for thinking of me.
- 5:34Well, you kind of are.
- 5:37Oh, I did not notice.
- 5:39The water feels cool and fresh.
- 5:41It is a strange, pleasant feeling.
- 5:44now, recently I've been experimenting with multiple character pipelines.
- 5:48That's multiple voices, multiple personalities, and
- 5:50just one agent orchestrating the conversation between them
- 5:56Yeah, guys, I'm trying to record a video.
- 5:59Thanks
- 6:00Uh,
- 6:00The trick to making that work is a fast decision model that front-runs
- 6:03the LLM and works out who you're actually talking to when there are
- 6:07several characters in the scene.
- 6:08but you could also feed it spatial data from the Unreal Engine so it
- 6:12knows what you're looking at or how close you are to an entity to
- 6:15decide who or what you're addressing.
- 6:18Nice to meet you, John.
- 6:19Welcome to my conservatory.
- 6:21Ooh,
- 6:21what are those?
- 6:24Those are my flowers.
- 6:25Red, yellow- Could I get one, please?
- 6:27… pink, white.
- 6:29Of course.
- 6:30I'll pick you a lovely one.
- 6:36There you are, a bright red flower freshly picked for you.
- 6:40And what's that?
- 6:43That's my wishing fountain.
- 6:44Toss in a coin and make a wish.
- 6:46Hey, where's that music coming from?
- 6:50That's Juno playing in the music room.
- 6:52Sounds like she's having fun.
- 6:54Sounds like she's having fun, but it's not very good, is it?
- 6:57So how does all this work?
- 6:59Oh, oh, I know.
- 7:01It works with magic
- 7:03No, Orbi, it isn't quite magic.
- 7:05Under the hood, this is the C++ client inside Unreal talking
- 7:09to a Pipecat bot over WebRTC.
- 7:12That matters here because WebRTC gives us multiple custom tracks.
- 7:16Every character gets its own audio track routed to its own actor in
- 7:20the scene so they can talk over one another just like people do
- 7:23Now, this demo is using hosted services, so that's Deepgram for speech-to-text,
- 7:28Pipecat PhoneLLM, Cartesia for the voices, and Jev for the decision model.
- 7:32All hosted is great if your target hardware isn't cutting edge since the
- 7:36heavy lifting happens elsewhere, even deployed, such as on Pipecat Cloud.
- 7:40But an interesting alternative to that is the opposite, an all local pipeline
- 7:44compiled and bundled as one executable.
- 7:47And that's what makes the C++ libraries exciting.
- 7:50Your bot file doesn't change.
- 7:51It's the same Python, same Pipecat, written the way you always have.
- 7:55So interruptions, VAD, turn detection, the model integrations,
- 7:59all of it should just keep working.
- 8:01Nothing to rewrite.
- 8:03The client does the native bits, the agent stays in Python, and together with the
- 8:07local models, you get one executable.. No server, no network hopping.
- 8:12The Pipecat C++ client SDK is of course open source and can be found on
- 8:16GitHub along with all the Unreal Engine demos that we've shown in this video.
- 8:20If you build something with it, whether that's a game, a robot, or a wacky art
- 8:24installation or something, please come and show us in the Pipecat Discord
About this transcript
This page contains the full transcript of AI NPCs you can actually talk to — Unreal Engine 5 + Pipecat C++ SDK by Daily, generated from the public captions YouTube serves with the video. The transcript has 1,266 words across 172 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.