
Arsenal is a jack-of-all-trades package that handles every technical aspect of your game. Input, audio, save system, dialogues, UI, localization...
You can now focus on what's important!Contact:Gmail / Unity Forums / Discord ServerStart your new projects way faster with Arsenal!What if all redundant gamedev utilities were contained in the same package?Finally, in one single asset, you now have tools for most non-gameplay aspects of a game:- Inputs (including virtual sticks)- Audio- Localization- Dialogue System- Save System- Tween handlers- Lots of UI presets- Context Manager- And more!For each of these features, the objective with Arsenal is to create short workflows, in order for you to handle them in a simple way.Highly extendable and modular:Arsenal is a fully modular tool: although a large number of features is included, it is not mandatory to use them all at once. Everything is compatible with other specialized packages, if necessary.Furthermore, Arsenal is designed so you can extend any component and create your own templates. The full Scripting API documentation is available, so you can easily add your own code on top of it.Full documentation for free:The package comes with its full source code, full user manual, a quickstart guide that covers each module and the Script Reference in case you want to extend Arsenal with your own code.All these documents are available for free so that you get an idea of how Arsenal works:Quickstart GuideFull user manualScript ReferenceOne-click install:Arsenal integrates immediately in your project: adding the Arsenal Manager into your scene grants you access to every functionality at once.A great community available on Discord:Together with BulletPro users, you can join the Discord community, ask any question and get help right away!Theme System:Certainly the most complete feature in Arsenal, the Theme System allows you to dictate behaviour of any element (mostly UI) in dedicated assets, so their different states are cleanly defined. For instance, think of a button that can be hovered, pressed or focused. Animated transitions can also be automatically handled.For those familiar with BulletPro workflows, this works the same!To sum things up, swapping an object's Theme changes its whole behaviour, and changing your game's Master Theme instantly updates your whole UI, which is great for accessibility and/or seasonal updates.Tweeners and Gauges:Tweener scripts are Components on which you can call a simple .Launch() function to trigger and manage an interpolation for any parameter. They grant access to various events, and can be bound to the Gauge component: an utility that offers complex monitoring for one single float parameter.Tweeners also enable transition animations for the Theme System.UI Presets:From the "Create" menu in your Hierarchy window, you can create a large number of premade functional UI items. This ranges from simple objects (button with full behaviour, panel, localized text, etc) to more complex structures like a tab view, a page system, a 2D spatial selector, a draggable window, a virtual stick...Save System:Arsenal offers to split your data cleanly into assets that you can define and edit like any other ScriptableObject, but the user data is also automatically stored as persistent JSON files! Even better, the SaveManager lets you define which parts of the data are subject to a "save slot" logic, then you can handle everything with simple one-liners like SaveGame() or LoadGame().Localization System:By adding a simple Localizer component onto an object, you can make it fully responsive to any change in language. The Localization Manager can read a file generated from a spreadsheet, and the documentation also makes a spreadsheet template available for your project.This whole system is compatible with dynamic strings, ie. cases where your texts should change based on external factors. "Hello there, $playerName!"Dialogue System:Built on top of the Localization System, the Dialogue System uses another spreadsheet template, also included in the package. All the dialogue UI is entirely handled, and the system offers branching, player choices, character portrait management, and more.Audio Manager:Designed to work together with Unity's AudioMixer feature. You can now create Soundbank assets to store your sounds: these assets also offer clip randomization, as well as volume and pitch randomization.Context Manager:With Arsenal, you can declare "Contexts" and "Features" to be organized in a two-dimensional matrix: whenever a Context is opened (such as "Bossfight", "Cinematic" or "Pause Menu"), some Features (such as "Enemy Movement", "Menu inputs", etc) are locked. This is handy for organizing your game at large scale, centralizing information and, for example, switching input schemes based on the current situation.Input System:Arsenal's input system is built on top of Unity's legacy input system, to work in the simplest possible way, as an alternative to the New Input System's steeper learning curve. You can declare your game's actions in a KeyBinding asset, bind them to buttons or axes and access the InputManager to check for inputs.