Over 11,000 five-star assets

Rated by 85,000+ customers

Supported by 100,000+ forum members

Every asset moderated by Unity

1/6
Switchboard provides high-performance log files, zero-garbage strings, and dependency injection built for Unity.
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Unity VersionBuilt-inURPHDRP
2021.3.42f1
Compatible
Compatible
Compatible
Description

Documentation | Unity Discussions | GitHub Discussions | Report an Issue


Switchboard is a high performance logging framework, with dependency injection, built for the Unity game engine. Switchboard will automatically create rotating log files on any hardware platform, with almost no measurable impact on performance. No garbage memory is allocated in the process, and you can log thousands of log entries per frame without affecting gameplay. Log files for Android, iOS, and other platforms are no problem.


Manipulating strings of text without garbage memory allocation is made possible by StringMaker, a direct replacement for StringBuilder. In Unity, StringBuilder allocates garbage memory when appending number variables. StringMaker can append numbers without allocation, in every imaginable format, even those not supported by .NET. Standard .NET code is simply not capable of displaying certain number values. A float can never display more than nine significant digits, for example. Even the debugger is inaccurate. StringMaker renders perfectly accurate floating-point numbers that show the true decimal representation of what is actually stored in binary. StringMaker is compatible with TextMesh Pro, so you can even update the text in your game without allocating any garbage memory.


Dependency injection for Unity is built in. Switchboard provides a composition root where you can define the code that runs when you play the game, no matter which scene is loaded. From there, you can inject dependencies, like the logger, into MonoBehaviours with a loosely coupled interface. No need to directly reference a specific class dependency. This helps keep your code modular, and allows for unit testing with mock dependencies. You'll never need another singleton, or to load a certain scene to initialize your game. Play testing in any scene is easy. Switchboard is designed for disabling domain reload and scene reload, so you can enter play mode instantly. Your composition root properties can be changed easily in the editor, perfect for testing and experimentation, and you will not lose any changes when you stop playing, as with scene data. An innovative design pattern allows Switchboard to completely avoid the costly reflection and code generation that other frameworks use.


Modular dependencies are key, so Switchboard is designed for you to only use the features you need. For example, if you want log files, but not dependency injection, removing or replacing the unwanted modules is easy. Each feature is built with modularity in mind, so you only import what you actually need.

Technical details

Compatibility

Switchboard targets .NET Standard 2.1, and has been tested for compatibility with Unity Editor versions 2021.3 and 2022.3. The core library is compatible with any C# application that targets .NET Standard 2.1 or above.

Switchboard

(4)
20 users have favourite this asset
(20)
$20
Seat
1
Updated price and taxes/VAT calculated at checkout
Refund policy
This asset is covered by the Unity Asset Store Refund Policy. Please see section 2.9.3 of the EULA for details.
Secure checkout:
Supported payment methods: Visa, Mastercard, Maestro, Paypal, Amex
License type
File size
1.7 MB
Latest version
2.0.0
Latest release date
Aug 12, 2024
Original Unity version
2021.3.42
Support
Visit site
Quality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Unity logo
Language
Feedback
Partners Program
Partners
USD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR