We are a indie games studio based in the UK. We work on a variety of projects, from mobile/indie games to assets/tools for developers. The studio is solely run by one developer in his spare time at the moment but plans to expand in the future to a full sized team.
While it is a little delayed, the new rather long awaited Leaderboard Manager update is here. So whatās new?
Summary of changes
Mechanically the asset is pretty much the same as the earlier 2.0.x versions of the asset but with some updated backend logic for future updates. A full rundown of the behind the scenes changes:
New saving system similar to the Save Managerās setup with a JSON save setup instead of the legacy binary save file setup.
Updated the structure of leaderboards to allow each entry to have its own unique identifier so you can reference an entry easier.
There is a porting tool to update old saves to the new structure. More on this in a moment.
New settings structure to match the rest of the assets released recently with per user settings and a settings provider flow.
Offline documentation is now complete instead of a simpler version. The online docs are also updated to match the rest of the assets using Notion as a host (easier to maintain in a pinch and has search built in).
There are also a new editor to allow to viewing of existing leaderboards as well as a setup to port older saves to this new version, both in the editor and at runtime.
Editor
With the editor tab you can view all leaderboards currently in the save file. You canāt make new ones here as the API isnāt designed to have boards made in the editor, instead having them made at runtime. You can however delete board should you need to test the setup and view the entries to make sure they appear as expected which should help with debugging.
Porting data to 2.1.x from 2.0.x
As mentioned the new structure means any old data from the previous version will need updating. A full rundown is in the documentation for the asset. But basically if you used the old setup to save the score as time by saving the score in seconds etc. As you can now save score as into a time class instead. There isnāt any major work you need to do to achieve this, just define the board ids and the type to convert them to and the asset should take care of the rest.
Note: you will need to convert boards even if they were just a score field.
An example below of a board called āArcadeā being converted to a score board in the new version.
Whatās next?
With this update done, Iām mainly focusing on support and getting back into my main side project for the year as Iāve had to take some time off of it to get this out. I do have a few game ideaās that I may prototype at some point or at-least write out some ideas for next year to work on proper. More on these when I have something to share.
A post annoucing the release of Audio Manager 3.x & an update to the Save Manager as well.
Audio Manager 3.x
Its been a long time coming, but today the new Audio Manager version is released. Unlike previous releases I’m going to stagger this one to release on the Unity Asset Store next year. This is mostly due to the asset’s stability not being great and the high likelyness of bugs from the total re-write. The new version has a lot of new features that have been teased before, but a quick rundown of some of the features:
Automatic scanning of audio clips in the project without any user input needed.
Dynamic start time for each clip to start where it starts playing audable audio, cutting out deadspace on clips and saves editing out of Unity.
Flexiable API for playing audio clips or groups of clips. The setup is more modular than before for easy debugging and fixing.
Editor to manage the library, assign groups of clips together and music track lists. Saves workarounds that were needed in the 2.x version of the asset.
No setup needed, just import and go. Before you needed to setup the inspector the use it.
Entirely static API, no scene references needed. As the static instance was the more common setup, this change makes it way easier to access the API without needing lots of scene references.
Music playing setup. Still a simple setup, but plans to make it better with further updates.
Inspector players for quick prototyping without needing to write any code. Like the old audio player class, but allowing for edits to be applied in the editor at will instead of needing a messy inspector with all options avalible.
So as of this post the asset is avalible from its Github repository and the Itch page. With the asset store coming early next year, partly for stabilty fixes, partly due to the review process which will likely take longer around this time of year as is. Links before:
Along with the Audio Manager release, there is a small update to the Save Manager also coming out at the same time, more or less. This update will go live to all stores and mostly fixes some editor stuff that I worked out in Audio Manager 3.x this week as well as some issues with the save editor not refreshing to the latest data.
Hi all. Been a little while so I thought Iād just update yāall on where Audio Manager 3 is at and when to expect it at this point.
Is it nearly done? yes. The code is like 90-95% done. As normal the last 5% takes most of the time xD. I found a few bugs which took me a week or so to work out in the spare time I had recently. I think Iāve got them at this point. I also had to add in a new system for an inspector player for audio. Something I couldnāt really leave out of the initial release. A little sneak peak above (right). Its more flexible than the 2.x solution with the option to use mode edit modules from the inspector and choose as few or as many as youād like to use.
Iāve got one more script to write for a music player inspector, but after that is done it is just a matter of sorting a few small demo projects, testing & finishing the documentation. The docs I have already started writing. Iām hoping itāll be ready before 2024, but Iām annoyingly busy at the moment on the weekends where I can get the most done. So weāll see if that happensā¦.
Also new logo! All the assets have a new logo design as of this weekend. I’m slowly updating them everywhere as I get the time to do so and I’m not in a coding mood…. Audio Manager’s logo below:
Its been a while since I updated you all on the progress so far. So far the progress has been good. So here’s how things are shaping up:
Library Editor
Library Tab
The main library tab of the library editor has had a few changes to it. The main layout hasn’t changed much since I last showed it, but there are some subtle changes.
Update clips struct button, lets you update the Clip.??? struct with the latest data. You can edit the keys for the clips in this version so the entries in the struct need updating often. This is one feature I’ve yet to work out a good way to automate. So for now it and any other struct will have manual updates with the exception of when a new clip is scanned where it will happen automatically.
Clip Dynamic time preview. I’ve managed to actually draw on the waveform the time currently set for the dynamic start time. This system still needs work to make it more user friendly, but visually its where I wanted it to be.
Hints, these are on each main button and can be toggled in the asset settings. They are just to aid with new users to help them understand what important buttons do.
Groups Tab
The groups tab has been updated with some extra buttons and has been fixed up. Previously editing any clip would only edit the last one in the list and there were some issues with keeping the data in sync with the library asset in the project. This tab has the same struct generation button which you’ll see in all the tabs and will update the Group.??? struct.
Mixer Tab
The mixer tab is legit just a button to update the Mixer.??? struct & a button to access the mixer in the project. I have attempted to add the inspector of the mixer to the tab. However it didn’t really play ball. So for now its just a link to the asset in the project with room to extended it down the line.
Music Tab
This is still in development as I’ve only just started the music side of the new version as of writing. So it has the music struct button for Track.??? but nothing else at the moment as I work out how its all going to work xD
Music Management
Like with the audio manager in 3.x, the music setup is going to work mostly if not entirely static. The idea is to allow for a modular setup with the option to transition between tracks. Setup layed tracks which you can sync & transition between as well as playlists etc. Still need to work out the particulars, but it should be good if it all comes out as planned. I may also have a component for use in scenes to set some of this up. But its likely to be mostly a code based solution this time around for the flexibility.
That’s about it for now, so far its on track for end of August, but we’ll see how I do over the next month or so. I’ll post another update when its near release.
Its been about a month since my last update post. So its about time I updated you all on developments over the last few weeks. Starting on from the last post withā¦
Save Manager 2.x
As you will have seen by now, the new Save Manager has been released! So far so good. There hasnāt been any major problems from what I can tell so far as Iāve been using it in my personal projects to handle save data there. I have made a few minor updates to the asset since launch to fix some minor issues, most of which didnāt actually break anything. But they would throw some console messages which could confuse users.
As of writing the asset is on version 2.0.4. Some improvements were also made such as an option to hide the save keys for induvidual save values, reducing the clutter on the save editor. As well as a fix to allow the demo logic to be totally removed from the asset without any errors occurring. Before there was a direct type reference in the save editor window logic to determine if it would show the demo save object data. This has been changed to a type string comparison to fix the issue.
There are plans for some further QOL & feature updates in the future, such as save slots & a better API to allow for custom encryption options. These will be worked on once I get some time to look into it.
It wonāt be a surprise to those who read the year in review for 2022 or been following on the socials, that the next main project is the Audio Manager update. Like the Save Manager, it is getting a rewrite in the backend. This is mostly due to the 2.xās setup not being easy to update for the new features & setup I want to implement next.
The current plan is to have this update out by the end of August. Similar to the deadline of April I gave myself for the Save Manager. So 4 months to fully develop & release the asset update. Now this isnāt a flexible deadline and may change if its just not ready in time. Likewise, if it is ready earlier than planned then itāll release early. Iāll post updates with progress and a release date nearer the time as well.
Functionally the Audio Manager wonāt change much for the end user, but behind the scenes a lot of work is going to be done to make it just a lot easier to use. Some of these include:
Automatic Library Management
Youāll no longer need to manually scan for clips via and inspector or anything. When you import audio, the manager will find a process it automatically for you. There will be an option to manually scan still if needed. This also makes the setup simpler which is a bonus!
Static Audio Manager
While having the option of an instanced manager can be handy, 99% of the time it wonāt be needed. So in 3.x the whole system is static. So no need to use āinstanceā when calling for audio to play.
New Library Window
While 2.x had a basic library editor for each audio manager file. 3.x will have a proper editor window with all the settings you need. You can even change the key of the clip! It also has a search option to search through the entire library and select any clip with ease.
Helper Structs
A new system for 3.x that will make typoās a thing of the past. Instead of calling āAudioManager.Play(āMyClipā)ā youāll be able to call a helper class called āClipā to let you select the clip with intellisense. So that same call becomes āAudioManager.Play(Clip.MyClip)ā. There are other helper structs for groups and mixers as well.
Grouping
Speaking of groups, youāll be able to group clips together in the audio library and call for a clip from that group to play. Handle if you have a lot of variations or want to play a clip from a range of options.
Dynamic Start Time
An experimental feature that tries to guess when the clip actually starts playing audio at a loud enough volume. Then sets the clip to start just before then instead of at 0. You can toggle the feature on/off globally, per clip in the library or via the method call itself. Youāll also be able to adjust the settings to get a better guess time in the audio library.
Currently it is still early days and some of these features may change a tad. One thing I mentioned in my last post was a method chaining API for calling audio to play. Sadly Iāve had to scrap this, but Iām still working to make the API better as a whole. The amount of methods in 2.x was a bit much, so Iāll be consolidating and using a better base method to avoid issues with call parameters.
Overall the idea is to build upon 2.xās success with new QOL features & automation where possible. The music side of things is in the air at the moment, as Iāve always struggled with a good generic solution for it. But if all goes well Iāll have a little time to research something for that. Iāve already had a few suggestions for it which I have noted down.
Other Projects
As mentioned in my last post. Iām also working on a personal project as well to kind of replicate P5ās turn based combat into a small demo game of just that mechanic. This is entirely for portfolioās sake as itāll make for a strong project that I can talk about in detail with a lot of systems. It also makes a good testbed for these asset updates. Save Manager 2.x was tested in the project to make sure it was all working before release and Audio Manager 3.x will get the same testing as and when its at that stage. That project is going well at the moment and I juggle my time between both it and the active Carter Games project to keep it fresh.
Organisation
This week I spent an evening or two organising the mess that was the Carter Games Notion. I legit didnāt use it as it was such a mess to find anything. With the new setup I will be using it a lot more. While its not something you see much, it does help to have a goal in mind and to write down tasks so you know where youāre at and what is left to do. Below is the Audio Manager task board for example:
The new structure has goals as āEpicsā which then have āTasksā to complete. Epics & Tasks are linked to āProjectsā which hold branding, links & anything else specific to that project on them. Even this blog post is been written in Notion under the new Marketing section xD
Website & Socials
A little heads up that I plan to change up the discord a tad at sometime. Mostly just removing bloat channels and making super simple. Its not used that much anyways and I want to have a place for update notifications for assets/games as well as the general news/announcements section.
Iāve also slowly been updating the documentation for all the assets to the new docs setup on the website. Iām mostly there at this point with Leaderboard Manager being the only asset to fully update. Iām hoping to have that all done at some point xD
So yea, thatās about it for this post. Long story short; a lot going on behind the scenes xD Iāll post another update around the end of June with progress if there is enough to share.