↝ Year
2026
↝ Description
What would it feel like to become part of the network beneath our feet? For Poetics of Soil, a collaborative immersive VR exhibition about fungi with Marshmallow Laser Feast, I worked on the pre-production and early alpha stages, exploring how visitors could inhabit and interact with this underground world. My main contributions were a fungal-inspired particle avatar, early interaction prototypes, a universal baked-lighting material and an interaction that lets you explore CT scans of plant elements by walking into them. All of that on a standalone Vive Focus 3, which wasn't exactly handing out spare rendering power.
↝ Tools used
Fungi have a rather different idea of what a body can look like. Instead of a neat outline with two arms and two legs, mycelium grows as networks of fine, branching threads. Through mycorrhizal associations, those threads connect fungi with plant roots. Quite an interesting starting point for an avatar!
My part of the project was about exploring these ideas early on: figuring out how a particle body could move, how it might reach out into its surroundings, and how to make the visuals work within the headset's fairly unforgiving limits. The teaser here comes from the early funding stage, setting the atmosphere the exhibition was aiming for.

The first avatar tests used real-time signed distance fields, or SDFs. These describe how far a point is from a surface, giving each particle something it can use to find its way towards the body. As the person moved, the field followed them, and the particles followed the field. Each little speck was doing its own bit of thinking - well, shader math, but let me romanticize it a little.
It was a nice way to approach a body made of particles, but there was a rather important catch: this had to run on a Vive Focus 3. A standalone headset has to handle the whole VR scene on its own, and the resource budget wasn't going to let every particle have quite that much independence. The real-time SDF approach was dropped, and I went looking for a less expensive way to keep the same idea alive.
The next version spawned particles inside the volume of a rigged body instead. The rig supplies the moving shape, while child particles create trails from the parent particles, giving the avatar those thread-like extensions. Less independent decision-making, more following the family.
Of course, Unity's VFX Graph had a little surprise waiting for me: I couldn't pass the parents' rigged particle positions on to the child graphs in the way I needed. To get the trails to start where they should, I had to reverse-engineer how those parent positions were calculated and reconstruct them for the children. A fairly technical detour for something that, ideally, should just look organic.
Along the way, I also found a VFX Graph bug involving custom attributes in subgraphs and successfully reported it to the Unity team. If you're curious about that particular adventure, here's the issue on Unity's tracker →.
Having a fungal-looking body is one thing; letting it reach out into the world is another. For an early interaction prototype, I cast rays from the avatar's hand to find an interaction root, then passed that information through a compute shader to the particle system. A raycast is basically asking: if I draw a line from here in this direction, what does it hit?
The hand's particle trails, along with their branching sub-trails, could then move towards that root. The idea was to evoke mycorrhizal networks reaching out and communicating, making the gesture feel like an extension of the avatar rather than a separate interface. Less clicking a button, more making a connection.


Since this was a collaborative experience, the avatar also needed to make sense alongside other visitors. This early scene explores how multiple particle bodies might look together among the roots. It takes the same visual idea out of an isolated avatar test and puts it into a shared space, where those branching bodies become part of the surroundings.
Lighting was another place where the hardware budget had a say. Instead of calculating all of that lighting in real time, baked lighting stores the result ahead of time, letting us bring the atmosphere into the scene without asking the headset to do all the original work every frame.
I worked on a universal baked-lighting material that could be used for every 3D object in the project. A common material for the environment, with the particle systems adding their own movement and detail on top. The clip here is a little eye candy showing how the two can come together - because optimizing a scene should still leave room for it to look beautiful.
Another interaction lets visitors explore CT scans of plant elements by walking into them. Rather than letting the scan video simply play from beginning to end, I made the visitor's position control which part of it is shown. Walk further in and you move deeper through the scan slices; step back and the sequence reverses.
Your movement becomes the scrubber, turning something you'd normally watch on a screen into something you can explore spatially. A fairly direct interaction, but a lovely fit for VR: to see what's inside, you quite literally go inside.
This project brought together a lot of what I enjoy about technical art: finding a visual idea, building an interaction around it, and then figuring out how to make it work on the hardware you actually have. Working with Marshmallow Laser Feast on these early stages meant moving between experiments, engine limitations and the occasional bug report, all in service of a world that feels a little less like an interface and a little more alive. Plenty of branching paths, quite literally.