XR Asset-Loading Pipelines

Industry Placement Report at Soluis

Introduction

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

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

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

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

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

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

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.