This presentation masterfully rebrands standard ECS principles into a proprietary UEFN framework, offering a sophisticated illusion of simplicity through layers of modular abstraction. It is a textbook example of high-level engineering that prioritizes structural elegance over the messy, unpredictable reality of creative game design.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Crafting Ingredients: Modular Gameplay Systems in UEFN’s Scene Graph | Unreal Fest Chicago 2026
Added:I hope everybody's having a good time. I know you're probably very tired. Um it's been a pretty crazy 2 days, but hopefully you're still awake enough to follow along with me and not fall asleep. And if you do, I'm sorry.
So, a little bit about me. I'm a senior game developer at Fode. Recently worked on Droid Tycoon.
Pretty cool game.
Uh we built that with Scene Graph, and so I kind of like Scene Graph now.
Uh so, today we're going to talk about a little quick little Scene Graph 101. You know, what is Scene Graph? What does it mean to Scene Graph?
Um and then we're going to talk about what it means to craft ingredients.
That's the title of this talk. I forgot to say that. Uh and then we're going to talk about custom items, and then a few other game mechanics. Then we're going to wrap it up with a quick recap, and then if we have time, a Q&A.
So, just a quick vibe check. Who has shipped a game in UEFN?
That didn't help. I can't see.
Some of you. Who has built something with Scene Graph in UEFN?
Less of you.
Interesting.
Let's talk about Scene Graph.
Entities.
Scene Graph has one big thing you got to know about, it's entities. They're the backbone of Scene Graph, and they're really not that complicated. They're just little lightweight containers that contain other things, other entities, or components.
Components define what entities actually do in the scene.
And everything in your game resides under one simulation entity. Uh if you were just next door a little bit ago at that other Scene Graph talk, they probably went a lot more into it than I'm going to.
But, if you're from not UEFN, you should also know that an entity is kind of like an actor, but simpler.
To really drive that home, here's the documentation page for entities. It's pretty long.
Uh but, actors is I could not fit it on the slide.
Components. The >> other most important thing in Scene Graph. Without them, entities don't do anything and you want your entities to do stuff.
So, components that add logic can be written in Verse and assets are also components.
So, anything like Niagara systems, static meshes, widgets turn into components.
Um the entity life cycle. So, a key thing to know if you're writing logic for entities and components or even if you're just using them at all in your project, if you're not a developer, that's okay.
You should still understand the life cycle stages they go through.
So, these are where you where your programmers add their logic and entities in the scene are considered simulating.
So, I'm not going to get too deep into what it means to be simulating. Are we in a simulation? I don't know.
The entities are though, that's all you need to know.
When they exit the scene, they're no longer in the simulation.
This is like a quick little flow of what happens when you add it to the scene.
These are like the stages, so it goes through on added to scene, on begin simulation, and that's like the setup phase, like it's ready to go.
Uh and then on simulate, which is it's happening, we're doing stuff.
And if you're if you know Verse at all, it's important to know that that is a suspended context, which means something to some of you.
Then, when it's removed from the scene, so after it's lived its beautiful life, had some children, bought a farm, now it's leaving your scene.
So, on simulate gets canceled, which again might mean something to you.
Uh and then it calls on end simulation, where it stops simulating.
And then finally, on removing from scene, it's out of the scene.
Prefabs.
They're just entities, but you can make copies of them basically. So, they're reusable entity hierarchies.
Uh and they're kind of the magic of Scene Graph. I'm going to talk about them a lot cuz they're really cool.
Um they can be instance at runtime or in the editor, and updating one prefab updates all the instances.
So, there's lots of lots of cool stuff in there. I'm not going to get too deep into it, but prefabs are an entity that you can spawn whenever you want, and you configure it in the editor at build time.
Modularity. So, we kind of understand scene graph, hopefully. If you don't, I'm sorry. You'll kind of get it after the rest of the presentation, I hope. Um what does it mean for code to be modular?
So, to me, a modular component enables a developer to add new gameplay by reusing existing components and systems, while keeping things kind of isolated. So, they're composable. You can make new features by combining your other features. They're reusable, which means functionality that's like generic should probably be generic, and so you can use it to compose new stuff.
Uh and extendable, which means you can change a component without having to go inside and tear it apart and make a big mess.
Uh and then the final thing is easy to change. So, if you do need to change it, which hopefully you don't if you listen to the last point, um it's still easy to do that, and you're not going to break your whole game by changing one thing.
Uh biggest takeaway from this is do not put all your gameplay into one component. If you made games in UEFN before, you might be used to a device, and you have one game manager with literally everything in it. Don't do that anymore. We're past that.
So, why would you do that? Well, designers can experiment, which is cool if you have a game designer who's maybe somebody who's not as technical as you.
Um code can be reused in other projects, so, you know, you can build one thing and then take and build another thing later. We actually have done a little bit of that with scene graph already, and it's been fantastic. Um and it helps you break apart large problems into smaller, more manageable ones. For me, I don't like big problems, but the cool thing about a big problem is that it's actually many smaller problems in a trench coat.
Um Standardizing functionality across your project. This kind of plays back into like making things portable. You can reuse stuff if you're following the same standards all the time in like Fortnite itself in UEFN if you're familiar does that. So Yeah, and then avoid duplicating logic which if you're a programmer you know that's like the big thing everybody's talking about is not repeating yourself, not writing too much code cuz writing code is boring. Um So the less you have to do that the better.
So >> [clears throat] >> when you want to make something modular where do you start? You know, you want to make a game, how do you find those atomic little pieces?
Well, how are other components going to interact with that component in your game?
How will designers interact with that component when they're designing? What values can they configure? Stuff like that.
Uh how players will interact with component. Obviously you're making a game, you want people to play it. How will they play it?
And then just a general warning, I'm going to show like maybe a little bit of code. Don't be scared. It's okay.
Uh I kind of boiled it all down to just comments and text so you don't have to know how to read verse. You can just imagine that there's verse there and that you know how to read it.
Um wow, I just covered this slide already. But not a programmer, that's okay. It's valuable to know what options are available to your programmer. So if you need to ask them for something or you know, use their components you can kind of understand what's going on.
So don't make everything modular. Don't be that guy that goes in and turns, you know, one tiny thing into 50 million different parts.
Um identify just what's important and we'll get into how to do that later, but making that part of your present that part of your game modular will help you. So a few examples of that is like if you're making a first-person shooter you probably care about the weapons and those should be pretty modular.
Um if you're building a roguelike game, your upgrades and abilities and items, those should be modular.
If you're building a tycoon game, the unlocks and builds and tycoon stuff should probably be modular. Um, and then items and crafting in a survival crafting game, which conveniently segues into what I'm about to talk about, which is a survival crafting game.
Items.
So, kind of conveniently actually, custom items are already thing in UEFN as a very cool new feature set they've been working very hard to build.
Um, and they work great right now. So, we're going to mostly just use those because they already exist and I'm lazy.
An item is an entity that has an item component. And that's Pay attention to that. It's not an item because it's an item, it's an item because it's an entity with an item component.
We'll talk about that more in a sec. Um, additional functionality is composed onto that item via the other components, like an icon component gives it an icon.
The description component gives it a description. The pickup component I'm not going to keep going.
Items are prefabs.
We talked about prefabs and how they're magical. If you think about what an item is, it's like a thing, like, you know, am I an item?
Maybe, I could be. I'm an entity.
Um, and items are defined by just creating prefabs that have item component.
And then they can be added to any inventory, which is just an entity with an inventory component.
You might see a pattern.
>> [snorts] >> Um, so I'm going to dive in. I'm going to show you a quick little video of me making an item.
And we're going to just like talk through the components that are on there.
Ignore the art in this, by the way. The artists were very busy, and so I they let I was allowed to make art, which is not usually a thing.
So, we start by making a prefab.
And then we're going to go and we're going to add our mesh. So, like I said, meshes are reflected as components, so we're going to find the log component cuz we're making a log.
We're going to throw that on there.
Good job, me.
Next up, the description component and the icon component and the item component.
Lots of components.
The description component, like I said, gives it a description. This is cool because if you have anything else in your game that needs a description, you can just use this. And then you can get the description from something the same way for anything. And then the same thing as the icon component.
I found a very beautiful log icon just in the Fortnite content. How cool is that?
And then finally, we add the pickup component that makes it so you can pick it up. Um Fortnite and honestly, like you as a developer, if you're making something in Scene Graph, don't ever assume that everything needs everything, right?
You don't always need an item to be able to be picked up. Maybe you only ever grant that item to the player directly.
So, only add what you need. Generally, a good thing, good practice to follow.
Um yeah. Cool log.
So, composition.
Kind of like you just saw, we put a bunch of things together to build that item.
So, that's a really good example of how something can be modular by sort of focusing on making it composed of other things instead of just one big giant scary thing.
Um so, you got to start by thinking about what an object has, not what it is. So, we thought about our log. Well, it looks like a log, so it's got to have a log mesh on it. Um it's going to have an icon, a description, and it's an item.
So, you know, with that kind of thinking in mind, think about how easy it would be to create a backpack. That's just you know, it's just an item that also is an inventory. And Scene Graph really thrives when you give yourself to that thinking and always aim to do things compositionally.
So, we got our items. We have a log, but how do you actually get the log in our game? Well, we're going to talk about gathering.
Super cool, beautiful game. Wow, I broke a rock.
Broke it a bunch of smaller rocks, and I cut down a tree.
Pretend there's sound effects and it's not just me talking, please.
Wow.
All right, so how do you find those components? How do you know what those little atoms are that you build your game out of?
Well, where do you like where do you start? How do you know what to add? Do we just do a pickaxe component when we want to make our pickaxe? That sounds kind of not very modular.
Um, how do you make a pickaxe modular?
It's just a pickaxe.
So, what we're going to do is we're going to use a little magic power called abstraction, which if you're a programmer, you might know about.
So, I took the description from Google here cuz it's pretty accurate. They know what they're talking about. Um, abstraction is the cognitive process of simplifying complex realities well by discarding specific details in favor of general ideas or patterns.
To put it less like a nerd, simplify it until you find a sweet spot.
So, what is a pickaxe? Well, it's a tool you use to harvest things. There's other ones of those. They're not all pickaxes, but they do all have things in common.
So, we're going to boil that down to the harvesting tool component because that's what a pickaxe is. It's a tool that you harvest with. And you know, we could reuse that later for like an axe, a shovel.
I can't think of any other tools right now, but I could if I tried hard enough. So, how do we make our pickaxe harvest stuff? Well, when our pickaxe is in the player's inventory, it's simulated, which if you remember what that means, it means on simulate runs.
So, while it's in the scene, we're going to wait for it to be equipped, listen for the player to click, and then we're going to send a little ray cast into the scene, and whatever we hit, we're going to send an event.
What is an event?
Scene events, you may have heard of them. You may not have heard of them.
That's all right. They let you send messages through the entity hierarchy.
So, entities can have children. Good for them.
Um and you can send messages down to those children and communicate between stuff.
Um this is powerful because it avoids creating a direct relationship between those things. Your pickaxe doesn't have to know about a tree. Your pickaxe just has to send its message to whatever it hits, and then the tree listens.
Um that's done by implementing the on receive event, and just found out about this at Rodney's talk earlier if you were there, but there's going to be like way cooler ways to connect things with events later.
Um and that'll be very similar to this.
Scene events in action. So, like I said, our harvesting tool sends a line trace into the scene. Sends down a harvest scene event to anything it hits.
Um and then with that event, we can create little components that listen to it.
And other things in the scene never learn anything about that specific pickaxe, so we've achieved modularity.
Let's wrap it up. Just kidding.
Here's me uh creating a tree.
Wow, I must have been tired.
You can do it, buddy.
Anyways, we're going to make the prefab, and then just like we did with our log, we're going to go and we're going to start composing functionality together from these little individual components.
Actually, we're making the pickaxe first. I totally got ahead of myself.
We're not making a tree yet.
So, again, like the log, all those item components, the key difference here is that we're going to add our harvesting tool component, which makes this item into a harvesting tool.
And we're also going to put a tag on it.
So, tags are kind of neat. They allow you to just put a little piece of information on a thing, and then later you can look at that, compare it to other ones, and we'll we'll get into tags in a little bit.
Very cool pickaxe mesh. You can tell what I didn't make.
Keep moving forward.
All right, we've got our pickaxe. We can harvest stuff.
We don't have anything to harvest.
We need a tree now. Um so, we've got we're going to have to figure out what that means. What does it mean to be a tree?
I don't know, I'm not a tree. Um So, we need to make our component to listen to this scene event. But, we got to ask ourselves some questions first.
So, we're not just making tree component.
What other things might we want to harvest in our game?
Probably quite a few.
What's similar between them, and what's different? You saw in that video I had a tree and a rock, so let's compare a tree and a rock.
So, a tree gives you a log, it falls over, you can harvest it with anything. Uh and it regrows after a little bit.
A rock spawns little tiny baby rocks.
Oh, uh it disappears when harvested, and it requires a strong tool to harvest.
But, it does not respawn.
Now, despite their differences, all literally all those points were different. Tree is a lot like rock.
Um and we can refine those harvestable entity requirements down to the following.
Some of them give items when you harvest them.
Some of them spawn prefabs when you harvest them. That's what that dig pile of rocks was.
And some of them play an animation when you harvest them.
And some disappear instantly when you harvest them. Lots of things happen when you harvest things.
So, instead of being limited to just a tree component and a rock component, let's make it modular and composable by using scene events again. Uh yeah.
So, the harvestable component our core functionality is implemented directly on this thing. So, the stuff that's in common between tree and rock, we can take and we can put into the harvestable.
Um and then additional stuff we compose onto there later.
So, this is this is what that looks like. You can see the editables. Those are things that designers can configure.
So, for example, what tools can harvest this? And that's using tags.
Um what items are granted when you harvest it?
Does it respawn and how long it takes to respawn?
That's general enough. Like we're not overly committing to trees and rocks right now. We're keeping keeping things open.
So, let's compose. Let's make some more components.
So, one little thing here is the play animation on harvest. That's for our tree. It needs to fall over. But we could reuse it for other things, right?
Like maybe we want to juice up our game and the rock like gets bigger or something. I don't know.
Um and if it All we have to do in this component is super tiny. I reduced the verse code, but this is literally only two lines of code even if I actually showed you the code. Um it listens for that harvested event and then it plays that animation.
The other one we have is the spawn prefab on harvest and we use that for our rock. It spawns that pile of much smaller rocks. Um again I think it's three lines of code even if I didn't get rid of the code.
And all it does is it just spawns a prefab that somebody's configured on the component.
Let's build a tree now for real.
So, we start with the tree mesh, which again is a component.
Uh we add our harvestable component.
And then we start composing on top of that.
Uh first we actually got to configure this. So we set it to give the log item we made before. So it's prefabs referencing prefabs referencing prefabs.
You can build a lot of game by just combining prefabs together, composing things with components.
So here we're throwing the other components on there like the play animation on harvest.
And that's going to let us do our beautiful little tree falling over.
Uh here's me grappling with the idea of a tree falling over I guess.
I wish I could fast forward the video but technology is just not there yet.
Beautiful animation.
It's like the tree is really here with us.
Um I don't want to run out of time just playing the videos. So pretend that I also showed you how we made the rock.
The only difference there again is that we swapped out one of the components.
But you see here I'm placing some trees.
That's good.
So the cool thing about prefabs is you just drag them from the content browser into your scene and now you have another tree.
So you can really just keep building your game, keep reusing the same stuff and uh build cool game.
So maybe we don't want to place our trees by hand because it's boring and I don't like placing trees by hand. And maybe we want to switch things up so the game plays differently every time.
Logical entities is an that a logical entity is an entity that has no visual components.
So not everything in a game is like visible all the time. There's invisible things happening all around us.
Um so you can use that.
So this is our little entity spawn manager component, and all it does is it takes a tag and then it looks for any entity that has that tag that we can scatter throughout the scene, and then we can spawn some trees on them.
So, after we place that guy and we tag some entities and scatter them around, you can see now we have trees that I didn't have to place by hand, which is cool. And every time you, you know, every time that tree spawn manager simulates, it's going to be a little different.
Cool.
Gathering. Let's talk about crafting.
Pretty key part of a survival crafting game, and we have some resources, so now we got to craft with them.
This is what crafting looks like in our game. Kind of experimental avant-garde stuff.
Wow, it's the pickaxe from before.
So, crafting. We want to abstract it so we can make those components, and we need to boil it down to its core meaning to do that.
So, crafting is making something new from specific ingredients by following a recipe.
And that's kind of always true no matter what you're crafting. Like that applies to cooking, brewing a potion, really anything that makes stuff from other stuff.
We're crafting right now.
So, prefabs, not only are they good for things that are visual and repeated throughout your scene, they're great for kind of like data only stuff, like a crafting recipe. Um, historically people might do all this in like a configuration file or a data asset if you're from Unreal Engine, but you can just build it out in the prefab.
Um, and do it that way, so you don't have to do things in two different ways.
So, we use that to set up the ingredients that are needed, the slots, and then also lay them out in that visual representation.
Um, on the topic of prefabs, they are much more useful when they're self-contained.
Nothing in this little example like depends on anything else to exist. Like you can have a tree by just placing a tree.
Prefabs are way more useful when you do that.
Make them self-contained where possible and avoid creating ones that depend on other things in the scene and you will thank yourself later because you can just throw stuff down and spawn it and really do whatever you want.
So, how do we actually make that system where you can craft using those ingredients and use prefabs? Well, we're going to utilize the entity hierarchy, which is the fact that entities have parents, they have children.
They go to college, they grow up.
Um and we can query for specific components in the hierarchy. Scene graph has these really cool methods that let you look up or down throughout that scene graph, well, to find different pieces and parts.
So, a crafting recipe, all it does is it looks for um it listens for events that are sent up from the crafting ingredient component, which we'll get to. Um and then it will check if all of its dis- all of its children, which are crafting ingredients, its beautiful children, if they are filled with the ingredient they need and if they are, then it's going to grant its ingredient.
So, how does it actually check its children? How does it find them? Um we use something called the find descendant component. So, this is kind of what that looks like. If you have your root entity, which is our recipe, and you have the ingredients, which are the ingredients, and you need to find them, you do find descendant ingredient slot components and they there they are.
So, it's very useful. It's cool that you can reuse the hierarchy and kind of everything's standardized around that.
Tags. I told you I'd talk about them.
They're verse classes that extend the base tag class.
They can be added to entities in the editor or at runtime. You can also add them to prefabs, not just entities.
Um and the tag query methods allow you to check if it's matching.
So, we're going to use our We're going to use those for a crafting ingredient slot. You know, in your game, you might have many different kinds of stick.
Maybe you don't just have oak trees, you have birch trees, you have aspen trees.
I don't know any other trees.
But, they all have different types of wood. And that's, you know, you don't want to have to configure every single kind of tree you go to add a new tree to your game cuz you think of a new one.
And then, it doesn't work. You have to update everything else. So, you can just use tags to do that. And they help you achieve that kind of scalable content that can you can keep growing without having to go back and change your existing content.
So, our crafting ingredient slot component, that's a crazy name, crafting recipe ingredient slot component.
Um it just requires specific tags on the entity. It doesn't require like a specific item at all.
So, yeah.
One thing that you can do is you can try to keep the door open. Somebody just came in. The door was open.
Identify opportunities that can make a component more useful by avoiding hard-coded behavior.
Uh and that's a lot of words to say just don't make assumptions, right? Just try to keep things configurable when they can be. And you will open up more doors for yourself in the future.
So, our recipes don't even assume that you're crafting an item. Because what if you're crafting a structure or something else you can craft.
By not assuming the crafted prefab is an item, we're going to open up some cool doors later. It's It's pretty sick.
You'll see it.
This is what it looks like to build out a recipe.
We're going to make a recipe for a fence.
So, we start out by adding those entities. Like I said, we're using the hierarchy here. So, we've added the first child to the prefab.
Congratulations.
Um and we're going to give it just the ingredient slot component and then we're going to configure that to look for our log tag.
So, that, you know, like I said, going forward, anytime we add a log to our game, it's going to work in this recipe.
We're also going to add a mesh component of that log because, like I said, and like you saw, the crafting in our game is kind of visual.
So, we just throw that same log component same log mesh on there. We make it look a little bit more like a crafting ingredient slot.
Uh and then we just dupe that out.
We don't have to configure anything on the crafting recipe itself after we dupe these out. Like we don't have to explicitly tell it about all the ingredients it needs because it's just looking under itself in the entity hierarchy.
It just works.
Um and then we throw the recipe onto that, say that it gives a fence, and that's all that's a recipe.
So, we just crafted a fence. Our game doesn't have fences yet. We need them now.
Um So, these are Whoa. How did I do that?
I'll tell you. Um This is our little building system. It's very simple. Um but as you can see, you place the fence, it plays a cute little animation where it expands. You can see a preview of what you're placing.
Uh and that's all just one component and some prefabs.
So, we don't want to build a big giant colossal building system because we we don't do that anymore. We do components now. So, we're going to build one single component and that's the buildable item component.
Much like the harvesting tool, we put it on an item, which is just an entity with an item component, and then it's buildable.
The structures that you place, like that fence, are just a prefab and they can do anything a prefab can do.
And that preview is also a different prefab. And that's you can make things different, you know, not everything needs to show the entire mesh. Like if you're replacing a house, for example, it might be kind of intense to see the entire house. Uh and you might just want to show like a little square on the ground where the house is going to go.
So, this is our buildable component.
It's just These are the only options it has, and that's kind of all we need because everything else is configured inside those prefabs.
So, we have the ghost prefab, the place prefab, uh and then just a few other game designy values.
While that buildable component is simulating, so while it's in the scene in somebody's inventory, we're going to spawn that ghost prefab, put it where they're looking, uh check for any collisions.
Then when they click, we're going to spawn that prefab or that the other prefab, lots of prefabs, at that location.
Scene graph has a lot of useful helper methods for these entities for checking for collisions. So, this is one of my favorites, find overlap hits.
Um you use it and it will tell you if something is overlapping anything on a prefab, which is cool if you don't necessarily know what a prefab is like that you're using, what that prefab is, and how many mesh components it has, and anything else on it with collision. You can just check the entity itself.
So, this is what our our buildable item looks like. You're not going to have to watch me build it one component at a time now.
Um and it's got the item component just like our other items. It's got the icon description, but it's also got our new buildable component.
So, you saw our fence kind of like expanded when we placed it, but I didn't actually do anything on the item for that because we don't want to be presumptuous, right? We want to keep things modular and not make too many assumptions.
So, we're going to build tiny little helper components, kind of like um uh little molecules, and you can reuse those wherever you want. Your designers can throw them on stuff to add polish, juice things up. Um and you can kind of give yourself ammo with those, right? Like So, here's one that we use to make that fence expand when it spawned. This is animate on spawn.
It does what it says. It animates when it spawns.
Uh and this is replace after duration, which is another one. We don't use that on the fence, but what we do use it on is something I'll show you later.
So, how do we make our fence destructible? Because usually when you build a fence, you kind of want to reserve the right to get rid of that fence later. You don't want to commit to having a fence there. That'd be a very weird game.
Um well, the good news is we already figured out how to do that. That's just harvesting, but you get your fence back.
So, we don't have to change anything about our harvesting system or our building system. We just throw that harvestable component on to our fence prefab.
Uh and we just combine them.
So, now here's what that fence prefab looks like.
It's pretty simple. It's got our mesh. It's got the animate on spawn. It's got the harvestable. And it plays an animation when you harvest it.
So, it does it kind of shrinks back down. Pretty cool.
So, here's a sapling.
Usually, you don't want to just deforest the planet and then never again be able to harvest a tree. So, I made our trees give us little baby trees.
And it'll grow eventually.
Any second now.
There it is.
So, that was not a lot of work to make that sapling. I only used what we already had.
It's just a structure like the fence, but we use that replace after duration component to replace it with a tree after a few seconds. You kind of see like, "Wow, you can make games that are just little pieces."
Uh here's another one of those and this one's my favorite actually.
So this is a campfire.
You know, it's a structure replacing it.
This campfire has a crafting recipe inside of it. That's crazy. That's like the two things we just talked about. Uh so we put the logs down in there and then it's going to spawn a new prefab, our beautiful campfire.
So here's what that looks like.
Um [snorts] not a lot really. It's just a little campfire mesh and then our crafting recipe and that points to another prefab that has the different version of the campfire that doesn't have the the recipe in it instead has fire.
So we just made some cool stuff, but like how do we do it?
Well, we use the great features of scene graphs such as prefabs, which are great for defining and configuring gameplay.
Scene events, which are great for communicating without coupling.
Tags, which are great for finding things or attaching things or or for attaching comparable and searchable data to your entities and prefabs.
We did modularity.
We standardized and we reused.
We abstracted to find our components.
We made tiny little helpers to build new stuff out of old stuff.
And we experimented with our components to make new gameplay. We made that campfire all without adding anything new.
But do not give in to the allure of modularizing everything.
How do you know when to modularize?
Sometimes you want to avoid it. It can make a lot of extra work. It can confuse you and make debugging difficult. It can introduce new types of bugs you've never heard of.
Um and it can rack up a lot of options if you aren't careful.
Be challenging to on the onboard your new developers too. Like imagine joining a project and you open the prefab and there's like 800 components in in and you're like, well, I I have to study everything in this project now.
But when is it worth it? When should you do it?
Well, could you have fun with the new component? I actually didn't want to stop adding new features to the game.
Like I could have probably kept going for about like 3 hours of content just with those components I already made.
Um modularize when it's a part of your core gameplay. Like I said, if it's something your game's going to have a lot of and you need to build a lot of content that's similar, think about how to get more out of your prefabs and your components.
Uh and do you have time for it right now? Cuz realistically, at the end of the day, you just want to ship a game.
So, don't overthink it.
Uh and that's kind of the last piece of advice I'm going to leave you with.
Thank you.
>> [applause] [applause]
Related Videos

TOP 15 Data compression Interview Questions and Answers 2019 Part-2 | Data compression | Wisdom jobs
wisdomjobs
281 views•2019-06-28

CTS 158: 802.11w Management Frame Protection
ClearToSend
4K views•2019-02-04

NDSS 2019 Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid Fuzzing
NDSSSymposium
496 views•2019-04-02

How realistic is Cities: Skylines?
CityBeautiful
159K views•2019-02-14

GUIs & TUIs: Choosing a User Interface for Your Python Project | Real Python Podcast
realpython
2K views•2025-04-04

The OSI Model - Explained by Example
hnasr
225K views•2019-05-12

Cloud Computing - Introduction
elithecomputerguy
98K views•2019-10-07

From Traveler's Dilemma to Dynamic Routing | Demystifying Networking
IITBombayJuly
5K views•2019-08-04
Trending

Ben Crump dealt MAJOR BLOW after His Own Nolan Wells Autopsy FACT CHECKS him
DeVoryDarkins
50K views•2026-07-23

Gremlin Arrives… While Dorothy May Takes Another Step Forward
The-moons
10K views•2026-07-23

Trump War Chief SCREWS UP by Posting Video Leading Judge to ORDER an EXPLANATION!!!
LegalAFMTN
110K views•2026-07-23

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23