Technical Design
Summary
This template was created by me using Unreal Engine’s Third Person character that was used for my other portfolio piece, The Mansion
I’d like to credit CodeThings on YouTube. The inventory system is based on his tutorial.
Breakdown
- 5 weeks half time (4 h/day)
- Unreal Engine 5.6
- Template made by me.
Goals
Improve the template and get a better understanding of visual scripting.
Creating the template
Player controller
I made a duplicate of Unreal Engine’s default character and changed left and right input to rotating, disabled jump and made so you cannot fall off ledges.

Here is me testing it out in the player gym.

Interactable’s
I created my interactable system using Function Libraries so that I could use it in other blueprints without needing to repeat a bunch of code.


Here is how the blueprint is built. I can check “is Item” to true or false if I want the interactable to be purely environmental or if it’s an item.
Here I am using the blueprint with an interactable and an item.

Doors
One-way doors

Creating a “One-way door”. These doors require no key and can only be entered through one side. I also make use of Function Libraries here as well.
The blueprint communicates with a sequencer and plays the cutscene when the player interacts with it. It takes the length of the cutscene so I don’t have to manually write in the length.

Doors with keys
This door is a bit more complicated since it communicates with a inventory system which is based on CodeThings tutorial. I will mainly cover how the door works and not the inventory system in itself.

(Click to view blueprint)

The door communicates with the inventory and checks if the required key/item is in the inventory. If it is, it unlocks the door. If it isn’t, it will give a message telling the player they don’t have the required item. This is because I want to avoid event ticks and save performance.
Camera
The main logic for the script. I can chose which camera I want to be the starting camera by checking the bool on the instances in my scene. Bellow you can see it in action.

Blueprint in action

The functions for the camera system.


Level Sequencers
I made use of Level Sequencers to change things in the level that would support my backtracking. I needed to change in the engine files since by default Unreal Engine restores the state of the meshes when finished to it’s original position. Once this was done I could save a lot of time since the meshes now saved the state.
