← All projects

Unity Learning Projects

A collection of small Unity projects I made to explore different programming concepts and learn how they work in practice.

PROJECT 01

DOTS vs Standard Unity Performance Comparison

In this project, I compared the performance of Standard Unity, Unity with multithreading, and Unity with DOTS (Data-Oriented Technology Stack).

To make this comparison I created a scene with 2D spheres that bounce around the screen and used PairDetection to check for collision, and when they collided with each other I colored them red.

PROJECT 02

Collision Algorithm Comparisons

Much like the previous project here I focus on comparing ways to detect collisions but here I instead used different algorithms to see which one was the most efficient.

Describe the setup, tools, and approach used to investigate it.

Results

Here the results were logged to a CSV file as well and it was clear that Pair Detection using a Quadtree was the most efficient.

PROJECT 03

Sorting Algorithm Comparisons

In this project I compared different sorting algorithms performance in Unity. This project used InsertSort, MergeSort and ShellSort.

To visualize the sorting I created a 2D scene where spheres bounce around the screen and the half closest to the middle are colored gray and the others are colored white.

Results

The results were logged in a CSV file for analysis but the overall results were that ShellSort was the most efficient when you got to a large dataset.

PROJECT 04

AI Steering Behaviors

In this project I impelemented an AI group steering behaviour where you steer a group of fish that grow larger when you eat food as you also have to dodge bostacles.

To visualize the behavior, I created a 2D scene where a group of fish move together and avoid obstacles.

The fish behaviour was implemented by having multiple factors taken into account: Spacing that keeps agents apart, Grouping that keeps the agents in a group, and Avoidance that makes the agents avoid obstacles.