[SUBMITTED] üCompose - Audio Suite & Playlist Management (GIVEAWAY INSIDE!)


[u]★GIVEAWAY INFORMATION★[/u]

The first ten people to both comment on this thread with a suggestion, as well as like our Facebook page will receive a voucher for one of our assets! Additionally, two of those people will receive a FREE copy of uCompose, our newest asset!

Be sure to either leave your Facebook name in the comment below, or leave your Unity3D handle (recommended for privacy) in a comment on our Facebook page. This is just to verify that you have done both! You are more than welcome to send me a private message if you feel uncomfortable doing either of those.

Greetings Unity!

I have started work on a utility to accompany my upcoming audio asset releases - the first of which is awaiting approval to the asset store right now! I will likely release this for no cost or low cost as well, depending how much work ends up going into it.
I need your input to make this a utility that you and others will benefit from! If there’s something you want to see, or even if you just like how it looks so far, please leave a reply. It would mean a lot to me!

Audio implementation is something many game developers are intimidated by. Particularly arranging what to play, when and where to play it, how loud to play it, and how to fade it out depending on the situation.

What is this asset and why are you developing it?

I’m developing this utility to give any developer or artist an easy, efficient, and polished way to implement their audio assets into their projects. Utilizing multi-dimensional lists, AudioSource pooling, and an understanding of editor scripting, I am assembling an asset that feels like a built-in solution to your audio woes.

On the outside is a clean, simple control panel for creating playlists and making them sound great. There are presets that have built-in settings to get you started, and an in-depth editing window in case you want to get to the nitty-gritty details.
Under the shiny exterior is powerful editor code that works for you. You won’t have to worry about sifting through lines of code in order to play your sounds, or unfolding countless foldouts to get to the place where your audio clip is stored. There are pre-made scripts that you can drop onto your player, NPC, environment, and more that will let you get your sounds into your game right away. You’ll be hearing your player’s footsteps and listening to creative variants of your environment sounds in no time at all.
Don’t see a script that fits your scenario in the package? üCompose classes are written with easy to grasp methods that you’ll understand just by looking at the name. If you get stuck, you’re just a click away from the extensive documentation that helps you solve your problem immediately.
Even if you’re an expert in C#/JS and organization, setting up audio functions can become mundane, ugly, and really distracts from letting you get to work on the fun stuff!
This feature-filled asset will let you:

  • Add and remove playlists
  • Populate playlists with songs, and remove them just as easily
  • Easily define playlist settings like loop styles, playlist volume, fade styles, and more!
  • Randomize your audio’s volume, duration, pitch, stereo pan, and just about anything else to give your sounds a truly dynamic feel. All this with a click of a button.
  • Use the “SFX” tab to create separate sound effects playlists, which let you individually edit each effect’s volume and variation intensity.
  • Pre-made scripts that you can drop onto your GameObjects and set up in seconds. Including player, NPC, environment, weather, and more!
  • Simple and extensive documentation to let you harness the full power of the asset.

Proposed Features:

  • Controlled variation/randomization of SFX, environmental sounds, ambiance, volume, pitch, EQ, and other effects.
  • Implement intensity system in which you can define different music for different levels of intensity (i.e. player is low on health, play music louder and switch to fast-paced playlist while also increasing bass response).
  • Create a central and automatic audio manager that has a variety of static functions/methods so that users can spend less time coding. This would be accomplished through an in-depth state machine that checks a variety of parameters. (i.e. weather, time of day, proximity to tagged objects, defined zones, what texture you’re on).
  • Easy creation and management of playlists/collections of sounds that give different areas noticeably different ambiances without having to create a whole new library. This would be done utilizing Unity 5’s extensive audio effects to creatively alter sounds depending on the environment (ties into metadata).

If you have any additions or suggestions, be it UI design, features, or other, please leave it in a comment below. I would truly appreciate your input!
Best,
Addyarb

Update 0.1 : UI

  • Added many new UI changes/features including tabs to easily navigate
  • Improved saving feature
  • Rearranged window structure

Update 0.2 : UI + Structure

  • Added comprehensive UI adjustments and improvements
  • Created category class that houses many variables you may adjust, as seen on the 3rd window in the screenshot.
  • Added ability to delete environments/collections via a delete tab.

So this update was more focused on UI than I thought it would be! I’m sure you’ve all been in a situation with your games where you just want to make everything look pretty UI-wise. Well I’ve been caught up in the same situation lately.
That being said, I want to make the UI super easy to use so that programmers and artists alike can use my utility to store, access, and process their audio with no confusion. I’m certainly learning some new methods of integration and optimization as I go here ! (Thanks MDSN)
Update 0.3 : UI + Utility

  • Added simple one-line methods to play, pause, continue, and other general audio methods.
  • Added a help box to the bottom of each panel, and added 20 messages to help guide the user through the process of creating playlists and adding audio.
  • Added automatic fade-in/fade-out if the sound is not an SFX
  • Simplified UI to include all utilities as tabs of the main window (see image).
  • Added functionality to editor, including the ability to remove playlists, delete specific audio clips easily from playlists, create new instance of Playlist script for each existing playlist and remove them/reuse them efficiently.
  • Made UI resizable to almost any width/height you can imagine for easier integration into user window setups.
  • Various UI improvements to improve simplicity and usability.

Update 0.4 : Intensity… (coming soon)

Here’s a screenshot from the creation tab. As you can see, I’m adding new buttons! So far you can choose the name, volume, and loop style, and fade style while creating your playlist. I’m debating on whether to extend this window to allow for more adjustments, or to let “advanced users” go in later and tweak the little stuff.

Here’s another update! This is the editor window. The editor window (presently) doesn’t have the big buttons due to the fact that I’ll probably be adding some more settings in there beyond what you can access when you first create a playlist. Any opinions would be helpful. I can always put it in a scroll area to get more space out of it.

Hey guys!

Here’s a look at what I’ve been working on lately as far as UI and functionality.

Instead of going with the drag-n-drop method, I figure it would just be easier to serialize all audio clips in the project, and then display them (last window pictured). I’ve discovered how to enable sound effects playing on button clicks while not in play mode, so I’ve implemented some nice SFX to accompany button clicks and whatnot. Sounds pretty cool!

If you’d like to give this a try let me know. I imagine this will be ready for the asset store in a week or so. I’d appreciate the help debugging!



Amazing! Would be a great asset as audio is the one thing i’m not skilled at!

Here’s v0.1 screenshots! Just a little bit more debugging and it’s good to go. I’ve got a lot of classes behind all of this, but it’s sort of something I’ll have to demonstrate in a YouTube video which will be coming soon.

Here’s the latest look! Quite a change, I know. I have consolidated all four tabs into one big UI. I found that while switching tabs can make a difference organizationally - it becomes too taxing after a while. I’m porting all of the UI over now, and will hopefully have a release ready by next week!

It’s almost done! The inner workings of the system are 95% complete, and the UI is on the home stretch. Hoping to finish it up this weekend! I’m also going to try and port this over to Mac and other versions of Unity (4,4.6,5) just to make sure it’s all good there.

Also I’m proud to say that our second music collection was released last night, so go check it out if you like chiptunes or adventure music!

This is looking good!

It’s clear that a lot of work has gone into making this a fully-featured solution for managing audio.

And backwards-compatibility is an appreciated “must” for luddites like me who are still on 4.x

How about showing us a code sample of your system being invoked through the API for those who want to call the system without using the provided pre-made component(s) you mentioned?

Best,

Thanks for the comment :slight_smile:

I will be posting a series of videos soon (promo and documentation) to showcase the features. I will be sure to get into the more advanced features and capabilities for those who would rather take things into their own hands - but rest assured I have made the variables very easy to get to and manipulate.

I’ve had a lot of great help on the UI and code-side recently, but I hope that feedback and critique will push me to make even more great features.

2392059--162970--uComposePreview.png

uCompose is now officially submitted to the asset store for approval! I’ve poured loads of time into it to get it looking and working great recently. It is released as a “Beta” version as of now, and has a huge discount to reflect that. That being said, I have also spent a lot of time trying to break it, confuse it, and invoke errors in general. I’m happy to say that it seems very stable! Looking forward to reading suggestions, implementing them into the system, and watching this asset grow!

Here’s a final screenshot look at the Beta v0.1 release! The pink letters are obviously just for notation. Want to know what each button does? Check out the extensive documentation I’ve written.

It looks like a great tool but it seems to not handle drag and drop to add new audio files, I think adding drag and drop would be much faster than looking for each files individually.

I’m afraid I’m not very savvy yet on how to implement audio in a game. I’m wondering if it is possible - or even easy - to play just a fragment of a sound file?

For instance, let’s say I have a piece of music of 1-6 minutes in length, and the part that I think would be good to play in a scene is somewhere in the middle of the piece, like 45 seconds in. And I want to play about 15 seconds of music after that point, fading in and out.

Is this something that can be done with this kit, or do I need to directly edit the sound file to get the audio fragment I want?

Thanks for the reply!

I have actually implemented the drag-n-drop feature before - but it seemed that it took less time to just use the scroll-rect list of audio clips to find the clip I was looking for. However, I think that based on your suggestion, implementing drag-n-drop into the “Remove” section would be a great idea. I’ll work on making that happen in v0.2.!

This is truly a great idea! There is no current support in uCompose for this yet. However, I can write you a method that would allow you to do such a thing quite easily. The method would look something like:

PlayPlaylist(playlistName,startPoint,endPoint);

If you wish to test / critique my implementation of this method, I would be more than happy to send you a demo copy.

Thanks for the comment and suggetion!

1 Like

I appreciate you looking into my request! So far as I know, no other audio plugin does this yet.

What I find is that I have a lot of audio that I only want to play part of. Maybe there’s only a part of it that I like, or maybe there’s a part I’d like to skip. Some pieces have long, quiet intros that I’d want to shorten. Another piece maybe has a strange ending that I’d rather clip off. And often it is the interlude between the intro theme and the ending that is the best part of the music. So something like a bit of code that I could configure in the inspector to play just the desired segment would be great.

I’m not on Facebook (or Twitter, or any of that stuff), so I won’t be participating in the contest. But I wish you luck. :slight_smile:

Of course! I actually have it working now and will update it really quick before the asset is released :slight_smile:

The syntax is just as you see below:

2416529--165258--PlaySoundOverload.png

P.S. For the great suggestion I’ll exempt you from the Facebook part of the contest if you wish! Just inbox me if you’d like a voucher code for one of the assets on the Statue Games page.

1 Like

Thanks! I will absolutely hit you up on your offer when uCompose hits the store. :slight_smile:

1 Like

Any updates on this?

Hey there hopeful :slight_smile:

My Unity Asset got denied for an organizational issue a while back, and just haven’t gotten around to fixing it as I was hired by a great VR/AR company who has kept me pretty busy. If you’d like the asset though, I’d be happy to send it your way. Otherwise I will try to update and Polish it over the next month and resubmit it.

Just message me or post here if you’re interested. Thanks!

1 Like