XR Asset-Loading Pipelines
Industry Placement Report at Soluis
Introduction
On my three-month placement at Soluis (formerly Edify), I architected and implemented a modular XR asset-loading pipeline in Unity. By combining AES encryption, in-memory HTTP serving, and reference-counted caching, I halved asset-load times and slashed memory overhead.

Company Background
Soluis Group is a Glasgow-based XR studio, partnering with Historic Environment Scotland and National Museums Scotland on the £5.6M “Museums in the Metaverse” programme. They deliver cutting-edge CGI, VR, and AR experiences for enterprise, heritage, and training.
My Role & Workflow
I led the file-loading feature end-to-end: sprint planning in Jira, PRs in Bitbucket, TDD with Unity Test Runner, and CI integration. Regular code reviews and stakeholder demos ensured alignment and high quality.
Key Systems Delivered
- Dynamic Radial Menus: Procedural Unity component batching segment meshes.
- Modular File Loader: IFileLoaderManager + Assimp/GLTFast + cache + HTTP server.
- TDD & SOLID Refactor: 90%+ coverage, NUnit & Unity Test Runner, CI performance benchmarks.
Challenges & Solutions
Handling AES-encrypted multiplexed streams in real time without blocking the main thread led to a layered FileDecoder: clear-text JSON headers first, then on-demand CryptoStream wrapping for sub-streams.
Reflection
This placement sharpened my XR architecture skills: event-driven design, performance optimization, and the power of rigorous TDD with automated benchmarks to keep complex systems stable.
Future Directions
- CI-driven performance regression tests on representative asset sets.
- Hot-swappable loader plugins via Unity AssetBundles.
- Expand to AR formats (USDZ, PLY) for mobile mixed reality.