News

Tech Blog

Learning

June 23, 2025

Parrot Game Sample: a new practical resource for game devs switching to Unreal Engine

Blueprints

Fab

Games

Learning

Parrot Game Sample

Unity

secret-dimension-logo.png
Secret Dimension is a first-class co-development game studio that was founded in 2017. The team is composed of veterans with AAA-level expertise in engineering, design, and tech art. Secret Dimension focuses their efforts on helping clients of all sizes with their toughest and most difficult development challenges, and has worked in all major game engines as well as some proprietary ones, with a primary focus on Unreal Engine.
Switching engines is one of those eternal game development questions and developers know that moving your team and project to a new engine can be a challenging experience.  

Engines differ from one another on an architectural level, and the impact of these differences can be found everywhere from code styling to tools to art pipelines. This means development patterns—and your team’s legacy knowledge—will require updates if you’re making the switch to another game engine. 

We’re trying to make it as seamless as possible for developers who are considering the switch to Unreal Engine, and that’s where the Parrot Game Sample comes in!

Introducing the Parrot Game Sample

The Parrot Game Sample is a collaboration between Epic Games and veteran development studio Secret Dimension, created to support developers with Unity experience who are looking for a practical way to learn and develop a game in Unreal Engine.

Secret Dimension created the same game—a charming, pirate-themed 2.5D platformer with three levels, a title screen, and a full menu system—using the same assets in both Unreal Engine 5.6 and Unity 6. Their goal: achieve maximum parity between the two versions and capture every insight along the way.
The result is the Parrot Game Sample, available for free on Fab in both Unity and Unreal Engine versions. Fully annotated and thoroughly documented, this project invites developers to dig into each project, read the documents and annotation, explore the tools, and absorb key lessons from Secret Dimension’s cross-engine journey.

From getting projects off the ground to leveraging Unreal Engine 5’s built-in features and streamlined workflows, Parrot offers practical, real-world insights that can accelerate any developer’s growth.

The aim is simple: to educate and inspire.

Hear directly from the Secret Dimension creators of Parrot Game Sample, Senior Software Engineers Dakota Herold and Justin Thomas, about how they approached the development.

Developing the Parrot Game Sample

Hi everyone! We are Dakota Herold and Justin Thomas. We both started our careers as professional Unity developers and transitioned to learning Unreal Engine after joining Secret Dimension.
When we set about making the Parrot Game Sample, we had a small set of goals. We wanted to make the game as like-for-like as possible in Unreal Engine and Unity to make comparing the implementations easier. We wanted to make sure our game systems followed good engineering practices in line with Epic coding standards, to provide a good foundation to starting to develop in Unreal Engine. Lastly, we wanted to document, document, document—that is to say, we wrote the Unreal Engine code as cleanly and straightforward as we could, with comprehensive, documentative commenting to help explain what we were doing, how the underlying Unreal Engine system works, and more. In this way, we really wanted the code to be the documentation—much like Unreal Engine itself.

In addition to the thoroughly documented code, we have an ancillary set of documents available that better expands on several topics, including more thorough explanations on concepts, Unreal Engine systems, Parrot’s implementations, and references to the official Unreal Engine documentation where necessary. 

We had a development plan for what content would go into the game and what features we would need to implement to make a useful tutorial. Our goal was to provide developers with a useful set of features and architecture that could be cross-referenced. 

In order to do that, we came up with a design for a basic 2.5D platformer, incorporating all of the features and systems we wanted to showcase. We strived for each example to be as pure and straightforward as we could make it. The end result is a tutorial that we hope you will find simple and straightforward to learn from.

Parrot shows implementations of input, lighting, shaders, materials, audio, character controllers, physics, and management systems.

Specific Unreal Engine systems in use include Lumen for global illumination, Nanite for higher poly meshes, Behavior Trees for enemy AI, World Partition for level streaming, Sequencer for the swimming sharks, Unreal Motion Graphics (UMG) and CommonUI for the user interface, and Enhanced Input.
From early on, we knew that water was going to be part of the game, and we thought perhaps we could use water physics to create obstacles. We investigated Epic's Water System plugin and found that the physics simulation was not a good fit. We pivoted away from simulated water to a stylized plane. Epic suggested that we try their Single Layer Water Shading Model which gave us the exact aesthetic look we were going for. We had never used the system before, and we were very impressed by its features and the quality of the final result.
To implement good-feeling platformer physics, we took Unreal Engine’s CharacterMovementComponent and customized it to make it our own. We added platformer jump mechanics, falling physics, and coyote time, all with design-time configurable values to allow easy tuning to dial in the feel. Specifically, we exposed the ‘time-to-apex’ and ‘apex height’ values as tunables, which we felt gave the most useful way to adjust the jump feel and get it just right.
When it came to the camera, we took inspiration from some of the classics to create a one-way camera that reacts in a natural feeling way to the player’s traversal of the levels we designed. The one-way nature and specific behavior of the camera may not work for all platformers, but it feels very ‘at home’ in Parrot. 

In order to make the overall aesthetic feel cohesive, we spent time customizing the asset materials and lighting. We made use of Unreal Engine’s material functions to apply different effects and tuned the lighting in a way we felt best showcased the assets. We encourage you to take a look at the different effects we’ve used throughout the project’s materials and the way we’ve set up the lighting.

In Parrot, we made extensive use of assets licensed with CC0. Our intention was that anyone can take the contents of the project and freely modify them for their own usage. Thanks to Kenney.nl, Quaternius, OpenGameArt and its many contributors who have graciously created assets with CC0, free of copyright claim. We hope that Parrot showcases these assets well!
When building games in Unity, developers have to create some form of gameplay framework themselves. In Parrot, we implemented these systems as closely to the Unreal Engine versions as we could. Additionally, we added scaffolding to reach better parity with our Unreal Engine workflow. 

These features include additive scene loading to get scoped lifecycles for game management systems, a custom character movement component, and creating custom behavior graph nodes to match the semantics used in Unreal Engine’s behavior trees. We hope that these patterns and implementations in Unity can help you better understand the development workflow and architectural patterns used in Unreal Engine.

Download the Parrot Game Sample today!

Download nowSee documentation

Get updates on industry innovations and the latest free assets for

By submitting your information, you are agreeing to receive news, surveys, and special offers from Epic Games. Privacy policy