Project Overview – Table of Contents
Game Presentation – Brief presentation of Terebron and my internship context.
Tasks Showcase – Key technical implementations and improvements I contributed to during my internship:
• Menu Reorganization & Optimization – UI hierarchy overhaul, improved navigation, and asynchronous asset management.
• Tooltip System – Optional player assistance via hover tooltips.
• Campaign Character Animations – Bringing campaign characters to life using sprite sheets and Unity Animator.
• New Gameplay Element: Revealer – New grid mechanic expanding gameplay and level design possibilities.
• Migration to the Addressables system – Build size reduction and asynchronous loading, with in-depth technical experience gained.
• Menu Reorganization & Optimization – UI hierarchy overhaul, improved navigation, and asynchronous asset management.
• Tooltip System – Optional player assistance via hover tooltips.
• Campaign Character Animations – Bringing campaign characters to life using sprite sheets and Unity Animator.
• New Gameplay Element: Revealer – New grid mechanic expanding gameplay and level design possibilities.
• Migration to the Addressables system – Build size reduction and asynchronous loading, with in-depth technical experience gained.
GAME PRESENTATION
Project Info
Role: All-AROUND Unity developer
Team Size: ~10
INTERNSHIP DURATION: 8 months
Engine: unity (C#)

ABOUT
Terebron is a 2D narrative puzzle game that combines accessibility with clever, laser-based challenges. Demos of this game are available on steam and the play store.
Each level presents you with a grid filled with various interactive elements and multiple inputs. Every input sends out a laser in a specific direction — your task is to figure out the right combination to activate every objective on the board.
Developed by Terebris Games, an independent studio based near Paris, Terebron blends intuitive mechanics with satisfying problem-solving. I had the opportunity to contribute to its development during my end-of-studies internship.
tasks showcase
menu reorganization & optimization
I redesigned the menu hierarchy to make navigation more intuitive and improved the flow between different menu screens.
I also implemented asynchronous asset loading and unloading — meaning these processes run in parallel to the main execution, preventing the game from freezing while waiting for completion.
The goal was to create smoother menu navigation, a key aspect since menus are where players form their first impression of the game.
This was actually my first self-initiated task on the project — it wasn’t part of my original assignments, and while it was an ambitious challenge, I’m proud to say it turned out great!

tooltips SYSTEM
Using I developed a tooltip system that displays helpful information when the player hovers over a visual element. The feature can be toggled on or off in the game’s settings.
The goal was to provide optional guidance for players, enhancing their overall gameplay experience.


Campaign Characters Animation
I brought the previously static campaign character images to life, thanks to the artists who created the spritesheets (image sheets containing each frame of the animation) and by using Unity’s Animator. This feature allows spritesheets to be managed through a state machine, like the one shown below.
in this basic state machine, Each state corresponds to a specific animation, with one or more transitions to other states. In this case, transitions were triggered either by certain conditions (e.g. if it's the character's turn to talk), or at random to create a more "natural" vibe (e.g. pause/blink after a few loops of the "talk" animation).
The goal was to make the narrative campaign feel more dynamic and engaging.


New gameplay element: revealer
The Revealer is a special element that can hide or reveal one or more other elements on the grid.
Each new element like this expands the gameplay and level design possibilities for both the game designers and the community, via the Editor and Workshop available in the Steam version of the game.
Implementing this feature single-handedly demonstrated my ability to adapt quickly, even when working across more than a dozen unfamiliar code files.

migration to the addressables system
To reduce the build size on both PC and Android, and to leverage asynchronous asset loading, I refactored the project to use Unity’s Addressables system. This was no small feat, as the project was already well underway; it taught me that implementing Addressables is a decision best made at the very start of development, otherwise a significant amount of time can be lost. On the bright side, after countless trials and errors, I’ve gained an in-depth understanding of Addressables—there aren’t many secrets left for me in this area.