Unity 2022.1.13f1 Vs Unreal 5.0.3
Here I reflect upon my experience in creating systems in both Unity and Unreal, attempting to make them as similar as possible both in functionality and in code.
Engine to Engine
Although I’ve used Unity in the past on Retro Remix, I found the transition from Unreal after using it for over a year somewhat jarring. I feel relatively competent in UE and understand its own nuances and conventions, whereas Unity felt awkward in certain aspects, such as when creating an actor (prefab). Over time I’ve of course started to adapt and find my feet with it, I do feel, especially in a Designer capacity, that I could easily navigate Unity going forward. Blueprinting still comes more naturally to me, I’m not an out-and-out coder, but I do feel more confident to take on certain tasks if necessary in Unity now. I will say that I still find Unity more clunky and less intuitive than Unreal.
Fickle Physics
I had an interesting experience working with physics in both engines, I have dabbled with this in UE prior. But from this experience I have found that going forward (for the time being) I would more likely choose Unity to pursue any physics-based projects. I found discussions online as well as through my own experience, the physics engine in UE 5.0.3 to currently be bugged.
Initially I thought the issue may be occurring due to me using Tick in UE alongside my physics events, whereas Unity has its FixedUpdate method, however it seems that this build of UE has issues maintaining consistent physics collisions etc, and instead seems to put physics objects to sleep when they shouldn’t, then will not wake them again in that playthrough instance.
As a note I will say that one instance of physics breaking in Unity was for my “ForceAdder” prefab, where if I made the list of objects that were interacting with this private, the mechanic would no longer work. This didn’t make sense to me as the list was only used internally anyway – perhaps it’s something obvious that I’m missing. I’ll have to do further research into this.
Another minor bump in the road I found was to do with certain values in mass and force used between the engines. Although this is somewhat negligible, it was interesting for me to see the differing values needed for similar effects to take place.
Timelines, Lerps & Animations
Due to the nature of my learning, and the methods available in UE compared to Unity, making the Doors open was of course different. Using the Animator in Unity is convenient and came a lot easier than coding, whereas in UE I would only use the sequencer for cutscenes, and would instead use a timeline for such effects. Both have their merits and demerits, but I have no qualms alternating when necessary.
Lerping however was interesting, mainly since in UE I would use this in tandem with a timeline to get the desired results. Without this tool available to me in Unity, creating my own custom timer/timeline was, albeit simple enough, rewarding to get working. Saying this, I wouldn’t necessarily pursue this method going forward in UE, although I have in this case if for nothing but consistency in method.
Final Notes
Having now had further experience in both engines, I am more easily able to assess my needs when it comes to developing a project, and thus choose my engine based on these needs.