By Krasutski Maksim
Topic: Optimization tools and techniques in the Unity game engine.
Research question: To what extent does Unity’s Data-Oriented Technology Stack (Burst, Jobs System, Entity Component System) improve runtime performance and memory efficiency compared to traditional object-oriented approaches?
Download ZIP using Code/Download ZIP, as it is a complete project
These packages are already embedded into the project:
- ZString: for 0 GC string building: https://github.com/Cysharp/ZString
- UniTask, for less GC async tests: https://github.com/Cysharp/UniTask
After each simulation, the saved CSV is of a format:
EEProfilerLog_{Part}_{N}boids_Auto.csv
Where {Part} is the name of the profiled Part (can be Part1, Part2, etc.), and {N} is the number of boids simulated. For more info on what is being profiled, refer to ProfilerLogger.cs.
Check Extended Essay CS Template.xlsx to see the template for data processing, and Results Charts.xlsx for detailed results with charts.
Provides all the essential buttons and input fields to adjust the tests in the standalone build. Features:
- You can select any combination of Parts to simulate;
- Manual Test: start a simulation without any test automation (data profiling is always on)
- Automated Test: starts a simulation for a specified warmup time and duration. For consistent data results, you there is no "Back" option in this mode;
- Automated Test Sequence: starts Parts in a sequence (first Part 1, then Part 2, etc.) with the same boid count.






