Integrating Unity into Psychoactive’s Web Development Pipeline

Oct 24, 2023
4 Minutes
String of Elysium game home menu

At Psychoactive, we recently began integrating the game engine, Unity, and the programming language, C#, into our production pipeline in order to create more immersive digital experiences.

In this article, we will share some of our insights and processes we’ve discovered as seasoned web developers venturing into the exciting world of game development.

Why Unity? 

Unity empowers our studio to generate more immersive and interactive web experiences for our clients. Through the use of WebGL, we can directly interact with a user’s GPU to render our projects more visually stunning, distinctive, and on the cutting edge of technology. 

Unity streamlines this process by enabling us to develop a “scene” or 3D/2D environment with their industry-leading tools and software. We can then export the build for WebGL, which operates in real-time directly in the browser. This grants us the capability to envelop a frontend-framework around it, such as React, to integrate more standard web elements, like text, images, links, while still complying with accessibility or SEO standards.

The Making of “Strings of Elysium”

The most effective method to master a new software or technology is to challenge ourselves and build something meaningful. After familiarising ourselves with the basics of Unity and C# through CodeAcademy, we came across a tutorial on creating a Flappy Bird style game and used that as a foundation for developing our own unique game.

We believe this style of game is an excellent starting point, as it necessitates understanding several of Unity's core functionalities, such as capturing user input, using colliders to create hitboxes, moving backgrounds, simulating gravity etc. 

From Web dev to Game dev 

As a company full of veterans in video game playing, web development, design, music production, and video editing our diverse background has allowed us to quickly pick up Unity software and the C# language.

The design thinking between a website and a video game certainly differs; a video game leans more towards the fun and fairness factor, whereas with websites, the goal usually revolves around accurately and engagingly presenting useful information about a product or service.

However, there are several similarities too, particularly in terms of considering user experience and how the experience scales and performs on different devices. In both fields, the person interacting with our creations is either the "user" or the "player", but they're essentially the same thing. The process of scripting the experience using programs like Visual Studio or Visual Studio Code is also very similar.

C# vs JavaScript 

We found the basic principles of C# quite similar to JavaScript, facilitating a seamless transition. It’s often said that once you truly grasp one programming language, it becomes much easier to learn new ones, which was definitely our experience when learning C# as seasoned web developers.

Concepts such as if statements, for loops, variables, conditional statements, and functional programming were familiar territory, and we just needed to acquaint ourselves with the slightly different syntax to begin coding our game.

One key difference between C# and JavaScript is that C# is a statically-typed language, meaning all data types need to be strictly defined. If you have experience with other languages similar to this, like TypeScript (a framework that enables statically-typed programming in vanilla JavaScript), you'll find this concept familiar - which was also the case for us.

We highly recommend other web developers or teams out there to explore new programming languages, possibly a general-purpose one like C#. You might be surprised at how quickly you pick it up!

Future Plans

At Psychoactive Studios, we are set on further incorporating Unity into our production pipeline. Our objective is to not only speed up the production process for projects like 'Soul Aether', 'Psychoactive Amphibians', and 'Hype Entertainment', but also elevate their quality and interactivity. We are focusing on enhancing the level of detail and the potential to navigate within the 3D spaces we create, aiming for a truly immersive and rich user experience.

Beyond these specific projects, Unity's diverse toolkit opens up new possibilities for us. The engine's comprehensive support for various formats and platforms allows us to create dynamic content that can be experienced across web browsers, mobile devices, and VR/AR systems. Unity’s powerful rendering engine enables us to develop visually stunning graphics, and its physics engine allows us to create more realistic movements and interactions. Its ability to handle heavy 3D computations on the server-side can allow us to develop web applications that deliver sophisticated 3D experiences, even to users on low-powered devices. Furthermore, Unity’s Asset Store provides a vast resource of ready-to-use assets, speeding up development and reducing costs.

This expanded capacity brought by Unity signals a new era of growth and innovation for Psychoactive Studios as we continue to break boundaries in delivering unparalleled web and gaming experiences.