I’ve been churning away at my game Never End for the past few weeks, but just recently hit a wall. For all its technological sophistication, it seems that the Unreal Engine completely sucks in the music department. No streaming audio, no smooth transitions, no pausing and restarting tracks? And this is just on the PC. When you get to mobile the problems multiply tenfold.
The biggest issue for iOS is the fact that background music should be played as a .mp3, not a .wav, which makes sense because iOS hardware has dedicated tools for compressed .mp3 files. However, the Unreal Engine doesn’t. Something about proprietary rights or something. It’s stupid.
Which means that the best I can do is play a sound file or stop a sound file. Never mind that I spent the last week writing a brilliant mobile menu slider and sound system to handle real-time control of sound volume. Even that was downright brutal to create given the limited options for Sound Node Waves, but it’s totally useless on mobile devices.
The recommended way according to this page is to stick a “Play Music Track” Kismet action into each level with an .mp3 override, which will ensure that the sound plays on both the PC and iOS. But that leaves the user no control over sound volume (as Infinity Blade showed). Suppose I wanted to listen to my own music and still have sound effects? Suppose I liked louder sound effects and softer music?
Epic Games has created some killer tracks for its own video games, so it should know how important music is to the video game experience. Why, then, are we left with such terrible tools to handle music? In my opinion, Epic should stop screwing around with such things as RealD 3D and Scaleform and get a decent sound system into their engine. It’s not that hard to do, and it’s not too much to ask for.