top of page
Search
  • Writer's pictureKim Ordén

Shifting from Unity to Unreal Engine

Updated: Oct 27, 2023

Quite a long post so TLDR: if you care about knowing about my workflows in unity and how I'm trying to find ways to shift them to unreal as smoothly as possible, continue reading.


Been messing around with blueprints in Unreal Engine 5 now, even though working in the code editor is what i like the most. There's so many features that are handled with blueprints in unreal, that i think it's quite vital to learn them at least if you work on a team where other team members are more familiar with visual interfaces for binding up things (Animations, materials etc. ).

However some things just turn into relatively complex structures in blueprints that are quite simple to do with a couple lines of code. Found out about Blueprint Function Libraries, where you can implement c++ code to get the benefit of both worlds.

In unity i like to build static libraries for core functions that my game or interactive things in the game uses. Then i just call whatever i need in a Mono Behavior update to define how it will work. Keeping my logic outside of the objects, so i can easily change their behavior by just changing what methods they are calling in their update. I also tend to like to not adopt a OOP approach, and keep my data separated from the objects, as most systems only care about reading data of an object, but in traditional OOP fashion you can't have data and functionality separated, so you end up passing around both even if you only care about the other. Haven't come up with any better solutions thus far to two determining factors that seem to apply to all game play code.


  1. Everything needs to be able to know about everything, every frame with a minimal as possible overhead.

  2. The code should never be a bottleneck for the design to change if there's a valid reason for changing the design to create a better game.


Gonna try to do something similar in unreal, where i build useful functions in a library of blocks that i then tie together in a blueprint graph, to create the functionality that i like. The benefit of unreal towards unity is that with blueprints you can also create supplementary logic in a blueprint as a designer, artist or an animator and not fully depend on the programmer having to implement all those functions in code. Also you can more easily as a non code person change the call order, bind stuff to input etc. than in unity in this regard, without the programmer having to interfere.


So my work in unity would be:


  1. Talk with the designer about the wanted functionality and how it should work.

  2. Declare the data types required for that feature.

  3. Build the tools for creating that data for designers in the editor (scriptable objects, editors whatnot)

  4. Build the system / functions that operates on that data.

  5. Make a first proposition of how that design works in play.

  6. Discuss with the designer what needs to be reiterated.

  7. Tweak the tooling, functions or whatever required and make a new proposition until we reach the functionality our game requires.


How i see this could potentially work in unreal based on my current knowledge.


  1. Talk with designer who hopefully already has some bare bone version of the functionality made in blueprints to communicate their vision.

  2. Implement a c++ function of that logic that can replace the logic in the blueprint the designer has created and is more fleshed out and has only the parameters that the designer cares about exposed for tweaking.

  3. Keep building more blocks of useful core functionality as the project goes on.

  4. Eventually new content will be added to the game by just calling the wanted methods in the blueprint that the designer builds on their own.


I still need to figure out where to store my runtime data, while keeping sure that I'm not shooting myself in the foot with data replication as I'm working on a multiplayer game.


I don't know if this is a good approach, but it has proven itself reliable in unity compared to other approaches i have worked with in the past.


Also linking this video here that i found, which seems to go through quite well different tools and tricks in unreal which supplements this approach I'm trying to take.


Leave a comment if there's something you think i should improve on the format or you feel like something is missing as I'm quite new to blogging!


Cheers,

Kim Ordén - Lead Game Developer @ Potion 8

89 views0 comments

Recent Posts

See All
bottom of page