Tides of Tomorrow
Technical Artist
Sole Technical Artist responsible for building the complete technical art pipeline, developing artist tools, and leading graphics optimization across PC, consoles, and Steam Deck.

Asset Validation Pipeline
A Houdini PDG asset-validation pipeline that gates every mesh shipped in the game.
On Tides of Tomorrow I built an asset-validation pipeline. The goal is simple: validate every export coming out of the art team and guarantee clean meshes inside the game engine. Here's how it works.
The day-to-day flow stays light. From the artist's side, a Blender add-on handles the export and a web dashboard surfaces any issue caught on the mesh, so they can fix and re-export, or hop straight into Unreal once the mesh is validated by using the job ID the dashboard hands back. Under the hood, a Houdini instance does all the heavy lifting. I added a toggle so you can switch between the artist's point of view and the full system view.
The pipeline, in 4 stages
Click any step for details01 · Blender export
step 1 / 4
A custom Blender add-on that takes the repetitive export dance off the artist's hands. It docks next to the viewport so the mesh stays interactive while the artist fills in the export contract: master flag, expected material count, distance / texel range, artist, transform locks.
One click and the plugin writes an FBX + JSON sidecar to the pipeline drop folder, then pings Houdini with a unique job id. No naming mistakes, no forgotten metadata, no context-switching to a terminal.
Asset nomenclature: what the plugin parses on Export
- SM
- Archi
- M
- GarageDoorStr
- 500x400
- a
- 01 Type Static / skeletal / decal
- 02 Category Architecture, prop, set dressing
- 03 Community Faction tag for art direction
- 04 Name Descriptive asset identifier
- 05 Size Footprint in centimeters
- 06 Variant Variation letter for pack families

Wardrobe Pipeline & VAT Crowds
A Houdini PDG system that morphs cloth across every body type and bakes the wardrobe into VATs for varied crowds.
Two character artists. Three factions, four morphologies, a full wardrobe per faction, adapted to every body type. A manual workflow would have killed the schedule. This one runs the whole catalog through Houdini and bakes the crowd to Vertex Animation Textures.
One wardrobe, two crowds.
click a node to expandOne wardrobe in. Every morphology out.

What lands in Houdini is a skeletal mesh exported from Maya: the clothing geometry plus the rig that drives it. Some pieces carry their own extra bones, and those get re-adapted to the target morphology along with the mesh.
The mesh name follows a nomenclature that encodes the slot (pants, torso, head…) so the Unreal randomizer knows which body parts this piece hides and won't stack a conflicting item on top.
Houdini ships one FBX per target morphology: the morphed mesh, the morphed rig (any extra clothing bones re-adapted to the new body), and the skin already booleaned to only what's visible.
Alongside each FBX, a JSON metadata file carries slot, faction and tags for the Unreal randomizer. Unreal's auto-importer picks the bundle up and the asset is in-engine.
Conform the wardrobe, then cut the skin.





Graphics Optimization
Nanite, Lumen, Virtual Shadow Maps across multiple platform.
Nanite and Lumen on every platform, Virtual Shadow Maps on most, from PC down to Steam Deck. The settings declare the target; the pipeline makes sure the library meets it.
One pipeline, four targets.
UE5 · Houdini · PDGThe Houdini + PDG pipeline acts first as a conformity gate: every mesh in the library passes through Houdini for validation before it ever reaches Unreal. The way the library is structured also lets me reprocess it at several points in production, adapting meshes to a new target or running non-destructive iterations across the catalogue.
On the Unreal side, Nanite, Lumen and VSM run on most platforms, with Steam Deck as the exception (no VSM there). The rendering features stay broadly the same; only the budgets shift from one target to the next.
Same approach for textures: I built Houdini and Python tools to audit the library and apply fixes where needed. The idea is to hold global control first, then refine per-asset when a specific case calls for it.

The team
The artists who carried this project. Go follow their work.
None of the systems above would have shipped without these people: beautiful human connections, incredible talent. Go follow their work.
Lead Art
Elise Ramseier
Lead ArtLudovic Oddi
Lead Art, Environment Artist
Character
Clothilde Chopin
Character ArtistYanis Lhôte
Character Artist
Environment
Alex Ryan
Environment ArtistChloé Plumey
Environment ArtistAndrea Penz
Environment Artist





