Build Better Unity Games 🎮
SoapKit brings professional game architecture to Unity through the power of ScriptableObjects. Instead of tangled spaghetti code, you get clean, maintainable systems that actually scale.
The Problem We Solve
Every Unity developer hits this wall: your game starts simple, but as features pile up, everything becomes connected to everything else. Adding new systems becomes a nightmare of dependencies, and debugging feels impossible.
// This looks familiar, right? 😅
public class PlayerController : MonoBehaviour
{
public UIManager ui; // For health bars
public AudioManager audio; // For sound effects
public EffectsManager vfx; // For particle effects
public GameManager game; // For game state
public SaveManager save; // For persistence
// ... and it keeps growing
}
The SoapKit Way
What if systems could communicate without knowing about each other? What if adding new features didn't require touching existing code?
// Clean, decoupled, maintainable ✨
public class PlayerController : MonoBehaviour
{
[SerializeField] IntVariable playerHealth;
[SerializeField] IntGameEvent onDamageTaken;
public void TakeDamage(int amount)
{
playerHealth.Subtract(amount);
onDamageTaken.Raise(amount);
// UI, audio, VFX all react automatically!
}
}
Your First 5 Minutes
Ready to see the magic? Here's a complete health system in SoapKit:
public class HealthSystem : MonoBehaviour
{
[SerializeField] IntVariable playerHealth;
[SerializeField] UnitGameEvent onPlayerDied;
void Start()
{
playerHealth.SetValue(100);
playerHealth.OnValueChanged += CheckForDeath;
}
public void TakeDamage(int damage)
{
playerHealth.Subtract(damage); // Built-in math operations
}
void CheckForDeath(int health)
{
if (health <= 0)
onPlayerDied.Raise(); // Everyone listening reacts automatically
}
}
That's it! Your UI, audio, VFX, and any other systems can listen to these events without creating dependencies.
What You Get
🎯 Two Simple Building Blocks
Variables - Shared data that systems can read and modify:
playerHealth.Add(25); // Built-in math operations
playerName.Append(" VIP"); // String operations
playerColor.SetAlpha(0.5f); // Type-specific helpers
Events - Notifications that systems can listen to:
onPlayerDied.Raise(); // Notify everyone
onScoreChanged.Raise(newScore); // Pass data along
onLevelLoaded.Raise("Forest"); // Strongly typed
🔧 Professional Tools
- Debug Window - Watch variables change in real-time
- Dependency Visualizer - See how systems connect
- Performance Analyzer - Find bottlenecks instantly
- Asset Creator - Generate SOAP assets quickly
⚡ Built for Performance
- Zero garbage collection during gameplay
- Faster than Unity's built-in events
- Optimized for mobile and console
- Production-tested architecture
Why Developers Love SoapKit
🚀 Faster Development
- Add new systems without breaking existing code
- Test individual systems in isolation
- Designers can tweak values without programmer involvement
- Parallel development - no more merge conflicts
🐛 Easier Debugging
- Watch all your game data in real-time
- See exactly which systems are connected
- Test events with one-click in the editor
- Track down issues with visual dependency graphs
📈 Scales with Your Project
Whether you're building a simple mobile game or a complex RPG, SoapKit grows with you:
// Same health event, infinite possibilities
onPlayerDied.AddListener(ShowGameOverUI); // UI System
onPlayerDied.AddListener(PlayDeathSound); // Audio System
onPlayerDied.AddListener(SpawnDeathEffect); // VFX System
onPlayerDied.AddListener(SaveGameState); // Save System
onPlayerDied.AddListener(TrackAnalytics); // Analytics System
// Add more systems anytime - no code changes needed!
Ready to Build Better Games?
SoapKit transforms how you think about game architecture. Instead of fighting against complex dependencies, you'll build systems that naturally work together.
Your Learning Path 📚
🚀 Get Started - Install SoapKit and build your first system in 10 minutes
🎯 Master the Basics - Learn events and variables inside-out
🛠️ Build Real Systems - Follow along with complete examples
🔧 Power User Tools - Professional debugging and visualization
🚀 Advanced Patterns - Custom implementations and optimization
System Requirements
- Unity 2022.3 LTS or newer
- Unity 6 fully supported
- All platforms (PC, Mobile, Console, WebGL)
Community & Support
- GitHub - Issues, feature requests, and discussions
- Discord - Real-time help from the community
- Documentation - Complete guides and API reference
Let's build something amazing together! 🎮✨