I decided to focus today on sound, I quickly set up my music files to play on each level, and set up a footsteps system using a plugin. Unfortunately, geometry is much more difficult to use a physical material based system with, and while most of my levels are blueprint and static mesh based, there is some geometry there too. I tried to add a physical material to the geometry, but since that is an advanced workflow that effects all the code in the editor, it crashed.
I then had an idea: add another footstep for the default surface, and now we have three different footstep sounds for different surfaces. As I loaded up the game to test the new footsteps, I realised I hadn't tested the footsteps at all, and therefore didn't know at all if they actually worked yet. When the game finished loading, they didn't.
Looking back at the documentation, I found that I had yet to add notifies to the animations and an interface to the character blueprint. With those two in place, the footsteps are working perfectly. I just have to remember to add the right physical materials to any surface I create from now on.
I then started working on finally finishing level 3. Part of this involved me wanting to use my ship model how it was designed: as a flying vehicle or platform to get the player somewhere. I spent a long time trying to remember my old code for a moving platform, but had no success, so I went to find another tutorial. When I searched just for a moving platform tutorial, it only came up with 2d ones, so I added the 3d keyword and found a great tutorial.
For some reason, trying to make the ship stop when you step off the box made it not move at all, but the ship has a far off destination anyway, so I actually decided to just not make the ship stop at all. It feels great to start the ship by walking to the helm and then leave the helm for the ship to continue flying.
At this point I already had a warning saying I had outstripped the limit for texture streaming, so I decided to just go all out and make a harder parkour segment before reaching the next level instead of trying to conserve my limit. All it means is that the level might take a small bit longer to load. I am extremely happy with the parkour segment at the end of this level, and I think it is probably the most difficult section so far. I especially like the part where if you use the grapple you have to land on a floating pallet.