Best Way To Execute a Technology Tree

So I am wanting to make a game for mobile devices, using the feature of tech trees. I see that choosing to do a tech tree there is a need for large files and a lot of computing needs. Is there a good practice for doing them in Blueprints that has a small foot print on the game, allowing me to make the mobile game as efficient as possible? Any examples would be great as I have been trying to complete this for a few weeks and keep running into all sorts of problems. Thanks.

( I hope this can help other people as well. )


I don’t see why a tech tree would require large files. Most of a tech tree is going to be UI, and maybe some Icons for a visual reference. Holding the data for each tech in arrays or xml should be pretty small.

How many techs will you have and what will they unlock? Is this a civilization style tech tree, FPS, RTS, etc?

And which part are you having problems with, data, UI, etc?

Also, do you have your tech tree mapped out and categorized already?

I haven’t implemented my tech tree yet, but I have put a little bit of forethought into it, though not much on actual blueprint implementation. If I were to do it right now, I would probably want to use XML to hold all the tech data, but I would prototype it using arrays which could be done a few ways depending on how you want it.

Sorry it took so long to get back, been really busy all morning. I was going over it with a friend earlier, and he stated that the files are large when it comes to tech trees because of the graphics, and interface itself, as well as all the functions. I was thinking that an array would be the best thing, but I thought they can be changed in the game so i didn’t want to mess up the arrays (If that makes any since, or Im not as familiar with arrays as I think I am.) I was wanting enough tech to unlock that can keep people playing the game while trying to unlock everything. The game is a Space Simulation, but more on the Simcity side. I have been working on it for roughly 2 years through unity, mainly working on the graphics, but I have always wanted to use unreal. So here I am. I was having trouble with the data and the blueprints, trying to see how it would work through the blueprints. I have the amount of tech i want, and mapped out, just don’t have all of the nodes named 100% through. I only have 50% named. I will do some reading on the XML and see what I can do with it. Please feel free to leave any ideas or pointers you think could help me in the long run. I would be grateful.


How graphically intensive your tech tree is depends on you. It shouldn’t be much more intensive than any other UI in your game unless you are putting large image files in each tech. The functions shouldn’t take up that much space either, but again it depends on what you are trying to do.

Arrays can change during the game but it doesn’t mean they have to. What I would do is have a number of variables set with your tech tree settings and use those to fill your arrays at the beginning of the game.

In my mind, a basic tech tree is pretty simple. What does a tech unlock(booleans allowing you to build buildings, units, etc) and what does it lead to(perhaps some bytes that lead into an Enum Switch)? If you want to do some fancy stuff like have the tech tree randomized every game, then the functions could probably start to grow bigger.

So I have been working on it using some of your advice, but still getting now where. Are you able to maybe show my a sample of at least one tech button and how you would maybe go about it? If you can’t, I completely understand. I might just be in over my head. Let me know if you can help further. Thank you.

You mean the blueprint nodes for a button or the UI piece? I haven’t even started on UI and probably won’t until UMG starts rolling out later in the fall.

If you want a blueprint example I am away from my desktop until next week, but maybe. I haven’t done anything for my tech tree yet, but I may be able to put a small example together. Problem is I won’t really be able to test it, so it will be mostly theorycraft.

In the mean time, take a look at my map generator thread, first post near the bottom. Look at the screenshots with tons of Enumerators that lead to each of my tiles to be generated. Off the top of my head, I am envisioned a tech tree that uses Enums in a similar manner that guides you down a path and at each point unlocks(sets booleans) for whatever the tech is for. You would use those booleans in places such as a production Queue where options become available if a tech is researched and booleans are set to true.