Skip to content
Enhancing Unity Game Development

Enhancing Unity Game Development

This comprehensive overview showcases Eidolon's modular Unity SDK ecosystem designed to accelerate game development through specialized, lightweight packages that handle everything from OS device data access and physics calculations to Web3 blockchain integration and networking. Each SDK integrates seamlessly with zero conflicts, providing developers with powerful tools for randomization, timer management, controller input handling, and WalletConnect support while enabling faster development cycles for both traditional Web2 and emerging Web3 gaming experiences.

Welcome to Eidolon! If you are new, the TLDR is that Eidolon is a game development tooling company here to help developers build games better and faster. How do we do this?

  1. Top Tier SDKs — with a focus on Unity but some web based and mobile tools in Alpha.
  2. Top Tier Support — we want to help you ship. It's ok to ask for help.
  3. Web2 + Web3 Experience — that's right. We aren't afraid to explore and help developers even in unproven areas.

Eidolon.OS

Eidolon.OS streamlines access to device-specific data, making Unity development more dynamic and responsive to user environments. With this package, developers can effortlessly retrieve system information like OS type, battery level, memory size, and network status. By centralizing access to device data, Eidolon.OS saves developers time from coding platform-specific logic and enhances app performance by intelligently adapting to user devices.

Code Example
string deviceModel = OS.GetDeviceModel();

Eidolon.Newton2D/3D

Eidolon.Newton2D and Newton3D are physics packages for Unity, optimized for managing 2D and 3D physics interactions. Both provide easy-to-use methods for applying forces, managing constraints, and controlling motion damping. By focusing on common physics tasks, these tools reduce the need for repetitive code and help developers create engaging and realistic environments in games and simulations.

Code Example
// 2D Physics  
Newton2D.ApplyForce(rigidbody, forceDirection, forceMagnitude);  
  
// 3D Physics  
Newton3D.ApplyForce(rigidbody, force);

Eidolon.Random

Eidolon.Random simplifies adding randomness to Unity projects. With versatile functions for generating random values — booleans, colors, vectors, and more — it covers all aspects of randomization, helping developers add unpredictability to gameplay and simulate natural variations.

Code Example
Color randomColor = RandomUtil.RandomColor();

Eidolon.Timer

Eidolon.Timer is a flexible timer solution, perfect for games needing precise time management. Offering start, stop, pause, and completion callbacks, it’s a ready-to-use package that replaces complex timer code, making event-based programming simpler.

Code Example
float duration = 10f;  
GameTimer timer = new GameTimer(duration, OnTimerComplete);  
timer.Start();

Eidolon.Controller

Eidolon.Controller standardizes controller input handling, accommodating popular controllers like PlayStation and Xbox. This package allows developers to detect connected controllers, initialize button mappings, and easily retrieve input data, making cross-platform compatibility simpler.

bool controllerDetected = Controller.DetectConnectedController();

Eidolon.Web3

Eidolon.Web3 is an all-encompassing Ethereum compatible SDK for blockchain integration in Unity, abstracting complex operations like wallet interactions, asset management, and smart contract executions. Tailored for Unity, it’s user-friendly with comprehensive documentation, helping developers unlock new possibilities in game economics and ownership.

Eidolon.WalletConnect

Eidolon.WalletConnect enables blockchain-based interactions within Unity, allowing players to connect mobile wallets like MetaMask directly to the game. With QR-based connections and built-in transaction handling, it’s a straightforward solution for integrating blockchain assets and dApps into game experiences.

Code Example
private void Awake()  
{  
// Instantiate our wallet using a default configuration that will use the chain we set in our project setup.  
wallet = new WalletConnectWallet();  
}  
  
private async void Start()  
{  
// Initialize our wallet and generate the QR Code data  
string rawQrCodeData = await wallet.Initialize();  
  
// Generate and show the QR Code Texture  
qrCode.texture = await wallet.GenerateQRCodeImage(rawQrCodeData);  
  
// Wait for the player to connect and assign their public address to a variable  
string account = await wallet.AwaitAuthentication();  
  
// Optional - Set the account to PlayerPrefs  
PlayerPrefs.SetString("Account", account);  
  
// Display the connected account  
Debug.Log("Connected Account: " + PlayerPrefs.GetString("Account"));  
}

Eidolon.Networking

Eidolon.Networking simplifies HTTP requests within Unity. Supporting GET, POST, PUT, and DELETE operations, along with custom headers and error handling, it minimizes setup complexity, allowing developers to efficiently incorporate web-based features.

Code Example
string url = "https://api.example.com/data";  
EidolonRequest.Get(url, headers, response => { Debug.Log(quot;Response: {response}"); });

Each Eidolon package is designed to save development time, provide focused functionality, and integrate seamlessly with Unity, making them essential tools for efficient game development in the blockchain and web-enabled space.

Additionally, while every Eidolon SDK is designed to be minimal to maintain maximum impact with the smallest footprint; the suite is also 100% modular with every package being able to work in the same codebase with zero conflicts.

Sawyer (TheGreatAxios) is VP of Developer Success at SKALE and an AI Engineer building agents and agentic platforms.