Posts

Showing posts from April, 2026

Personal project: Unreal custom Niagara spline interface

Unreal custom Niagara spline interface: The concept: Whoa boy the title is a bit of a word salad, but let me explain what I wanted more simply. Basically, I wanted to have a particle system follow a set track (in Unreal), speeding up and slowing down as it followed it. Luckily, splines exist. A spline is basically a list of ordered points in the world (with a bit of extra stuff defining scales, tangents and how they should be interpolated between) that produce a trail. And handily, Niagara (Unreal's particle system) has an (admittedly experimental) data interface for splines. This allows you to pass a spline into the particle system and use functions in the interface to create the particle system you want. I even found a tutorial on how to create the type of effect I wanted. So job done, right? Wrong. Very close, but no cheddar. The Niagara interface has functions allowing you to get the position along the spline by passing in how far along the spline you are. But this is based on...

Hands: Monetisation and the Shop

Image
 One of my major tasks on Hands was the creation of a monetisation system and shop. This involved connecting to both the company backend and the Meta one, all the way through to hooking up the UI and widgets and the gameplay too. The finished shop The requirements: There were four different things we wanted to sell in the shop; three types of cosmetics (skins, trails and slap effects) and toys, which can be spawned in once they've been purchased. There also needed to be a screen for special offers (the top icon on the right). We also needed the player to be able to actually use the skins and items they purchased, so after some discussion I suggested to the UI artist that the shop also double as the inventory itself - owned items would have a button to equip them if they were selected. This made the UI simple from a visual perspective, as well as ensuring players would be able to see (and hopefully buy!) the other skins in the shop while they switched what they had equipped. This al...