Ever since Unity announced their new AI tools I’ve signed up for their beta program. Finally, the day has come that I received access to one of their AI tools, the Unity Muse Chat. Right now this is in private beta, so if you’d like to test it you’ll need to request access via Unity Muse Chat Beta.
It all started with the acceptance email:
We’re very pleased to invite you to join the Unity Muse Chat closed beta program. From generating Unity-specific code to answering questions like “How do I rotate objects with quaternions?,” Muse Chat drives beginner accessibility and expert productivity.
In this closed beta, we hope you will:
  • See how easy it is to bring the power of AI into your Unity workflow
  • Rank the quality of chat results to improve performance
  • Join Unity Discussions to help us continue building the right product for you

All I had to do was to click on the private beta link invite from the email. After that I saw a chat invitation and I logged into my Unity account (tied to the email that I received the beta invitation to).

What is Muse Chat

Muse Chat revolutionizes workflows for game devs that use Unity, introducing fresh possibilities to real-time 3D (RT3D) projects – it is currently in a closed beta phase. Muse leverages AI capabilities to expedite the creation of RT3D games. With Muse Chat, creators can utilize AI-driven search across Unity’s documentation, training resources, and support content to obtain well-structured answers, complete with working code samples, to streamline development. You can think of Muse Chat as an adapted version of ChatGPT that focuses solely on Unity information and game development/marketing.

With Muse Chat you can do the following:

  • Accelerate development and troubleshooting by swiftly accessing game related info.
  • Obtain relevant and up-to-date Unity information from the no.1 official source.
  • Down the road they mention that you’ll have the ability to access the right information at the right time, seamlessly integrated into your Unity workflow – basically incorporated into the main Unity Hub where you work on your game.
  • enter natural [English] language commands or images into prompts to quickly generate 2D images, 3D meshes, character animation, environment design, and many other assets necessary for RT3D applications
  • assistance to optimize code at multiple points in the workflow

To ensure a successful closed beta program for all participants, they have some usage guidelines that you must adhere to when using it:

  • Private Use: The closed beta and beta versions of Muse Chat are intended for private, non-commercial use only.
  • Confidentiality: As a user of Muse Chat prior to its public release, it is important to maintain confidentiality. The platform has not yet been officially announced or made available to the general public.
  • AI and Ethical Guidelines: When utilizing Muse Chat, you must adhere to the Unity guiding principles for ethical AI. These principles encompass three key aspects: designing for increased accessibility to creators, incorporating responsibility into the design process, and prioritizing privacy and security as integral components of Unity.

How to use Muse Chat

If you’re already accepted into the beta, just go to muse.unity.com and sign in using your Unity ID. You will be redirected to the conversation page. If you’re not yet accepted into the beta, you’ll be able to add your email to the waitlist.

It’s very important to understand what you can ask Muse Chat, so that you also get valuable feedback. Here are some ideas on what to ask Muse to get started:

  • How do I make my game character float in Unity?
  • How can I make my game accessible to anyone?
  • How do I create a particle system that can collide with the world objects?
  • What are the best practices for using branches when building a game?

However, when sharing information with Muse you have to take into account that the prompts you give it will also be used for training. So be sure you do not accidentally share sensitive intellectual property.

Another thing to take into account is that Muse Chat is multilingual, so you can ask questions in your own language as well – it has support for 26 different languages. If you encounter some problematic answers (i.e. offensive, hateful), you should use their feedback form to report those to help them improve it.

Muse Chat real answers

I tried to see how well Muse can answer Unity-based questions so below are a few Muse chat prompts and replies.

Q: How can I integrate Ads into my game?

A: To integrate ads into your game, you can use Unity Ads, a service provided by Unity that supports various ad formats such as rewarded video ads, interstitial ads, and banner ads 1. To get started with Unity Ads, you need to sign up for Unity Gaming Services and integrate the Unity Ads SDK into your game 2.

Alternatively, you can use third-party ad networks like AdMob or AppLovin. Unity’s Ads Mediation package allows multiple ad networks to compete for your impressions, providing a suite of growth solutions such as in-app bidding, waterfall ad strategies, A/B testing, and cross-promotion 3. To use a third-party ad network, sign up for an account with the network and integrate their SDK into your game 2.


Q: How do I create a particle system that can collide with the world objects?

A: To create a particle system that can collide with world objects in Unity, follow these steps:
  1. Create a new Particle System in your scene by right-clicking in the Hierarchy window, selecting “Effects” and then “Particle System”.
  2. Select the Particle System in the Hierarchy, and in the Inspector window, expand the “Collision” module.
  3. Enable the “Collision” module by checking the box next to its name.
  4. Set the “Type” to “World” to make particles collide with world objects.
  5. Adjust the “Collider Force” and “Bounce” properties to control the force and bounciness of the collisions.
  6. If you want particles to collide with specific layers in your scene, set the “Layer” property in the “Collision” module to the desired layer.
  7. Ensure that the objects you want the particles to collide with have colliders attached to them.

Now, the particles emitted by the Particle System should collide with the world objects that have colliders and are on the specified layer.


Q: How can I market my Unity game successfully?

A: To market your Unity game successfully, consider the following strategies:
  1. Create a website or landing page for your game to showcase its features, gameplay, and screenshots. This will serve as a central hub for potential players to learn more about your game.
  2. Utilize social media platforms such as Twitter, Facebook, and Instagram to promote your game and engage with potential players. Share updates, teasers, and behind-the-scenes content to create interest and build a community around your game.
  3. Reach out to game journalists, bloggers, and influencers to review or feature your game. This can help increase visibility and generate buzz for your game.
  4. Participate in game jams, contests, and festivals to showcase your game and network with other developers. These events can provide valuable feedback, exposure, and connections within the industry.
  5. Consider using paid advertising such as Google Ads or Facebook Ads to target potential players. This can help you reach a broader audience and attract more players to your game.

Remember that marketing a game is an ongoing process, and it’s essential to continually engage with your audience, update your promotional materials, and adapt your strategy based on feedback and performance.


Q: Can you create a very simple Unity game?

A: As an AI language model, I cannot directly create a Unity game, but I can guide you through the process of creating a simple game in Unity. Here’s a basic outline to create a simple 2D platformer:
  1. Create a new 2D Unity project.
  2. Import or create 2D assets such as a player character, platforms, and a background.
  3. In the Hierarchy window, create a new empty GameObject and name it “Player”. Add a Sprite Renderer component and assign your player character sprite.
  4. Add a Rigidbody2D component to the Player GameObject. Set the “Gravity Scale” to a value that feels right for your game (e.g., 2).
  5. Add a BoxCollider2D or CircleCollider2D component to the Player GameObject, depending on the shape of your character sprite.
  6. Create a new empty GameObject and name it “Platform”. Add a Sprite Renderer component and assign a platform sprite. Add a BoxCollider2D component to the Platform GameObject.
  7. Duplicate the Platform GameObject and position the platforms in your desired layout in the Scene view.
  8. Create a new C# script called “PlayerController” and attach it to the Player GameObject. In the script, write the code to handle player movement and jumping using Input.GetAxis and Rigidbody2D.AddForce.
  9. Test your game by pressing the Play button in Unity. Adjust the values and settings as needed to fine-tune the gameplay.

This is a very basic outline of creating a simple 2D platformer in Unity. There are many more features and improvements you can add, such as animations, camera follow, collectibles, and enemies. Unity provides various tutorials and resources to help you expand your game further.


Q: What are the most popular game engines for creating mobile games?
A: Some of the most popular game engines for creating mobile games include:
  1. Unity: A versatile and widely used game engine, Unity is popular for its ease of use, extensive features, and support for a variety of platforms, including iOS and Android.
  2. Unreal Engine: Developed by Epic Games, Unreal Engine is known for its high-quality graphics and performance capabilities. It is suitable for creating both 2D and 3D games and supports iOS and Android platforms.
  3. Godot: A free and open-source game engine, Godot is gaining popularity for its flexibility and user-friendly interface. It supports various platforms, including iOS and Android, and is suitable for both 2D and 3D game development.
  4. Cocos2d-x: A popular open-source game engine specifically designed for 2D game development. Cocos2d-x supports multiple platforms, including iOS and Android, and has a large and active community.

These game engines are widely used for mobile game development due to their features, platform support, and community resources.

What can I say after using it 2+ weeks? It’s quite a valuable asset if you are working with Unity. It can answer very specific questions as well, for instance the questions below are Unity questions you can expect to be asked when applying to a Unity-based position, and it answered them correctly:

Can threads be used to modify a Texture on runtime?

Yes, it is possible to modify a Texture at runtime using threads. Using threads can improve performance in some cases by allowing the texture modification to run in parallel with other tasks 1. However, it is crucial to manage thread synchronization properly to avoid race conditions and ensure thread safety when working with textures 2.

Keep in mind that Unity’s main thread is responsible for rendering and updating game objects, so you should avoid making direct modifications to textures from worker threads. Instead, you can use a separate thread to process the texture data, and then apply the changes on the main thread using Unity’s API, such as Texture2D.SetPixels and Texture2D.Apply.

Remember to use appropriate synchronization mechanisms like locks, mutexes, or semaphores to ensure data consistency and avoid potential issues when working with threads.


Explain what a vertex shader is, and what a pixel shader is.

A vertex shader is a program that runs on the GPU and is responsible for transforming the vertices of a 3D model into screen space. It processes each vertex of the 3D model, transforming the vertex position from object space into clip space, which is used by the GPU to rasterize the object on screen3. Vertex shaders can manipulate the position, color, and texture coordinates of each vertex3.

Pixel shaders, also known as fragment shaders, are programs that run on the GPU and are responsible for determining the color of each pixel on the screen4. They can sample textures, perform lighting calculations, and apply post-processing effects5. Pixel shaders operate on fragments generated by the rasterization process, and their output is the final color of each pixel.

Both vertex and pixel shaders are written in a shader language such as HLSL or GLSL and are compiled into GPU code at runtime6. Shaders in Unity are used through Materials, which combine shader code with parameters like textures. A single shader can be used in multiple Materials, but a single Material cannot use multiple shaders.

You can think of Unity Muse as your own personal assistant when developing with Unity 3D. Instead of spending time to ask on StackOverflow or search their documentation, you can just as easy open Muse Chat and it (or he?) can do the search for you.

It is still in closed beta, so subject to future changes, but right now it does an impressive job at answering questions.

Unity Muse Chat vs ChatGPT
Unity Muse Chat is directly trained on the latest Unity technical documentation, ensuring the information provided is reliable and structured for immediate application. ChatGPT on the other hand doesn’t have the latest information available, so it might not produce the same accurate answers as Muse Chat. Furthermore, Muse Chat is specifically trained for everything-Unity, thus much more custom tailored for Unity devs. If you are looking for help with Unity, choose Muse Chat.

Unity Muse Chat currently sources official Unity manuals (supported 2021–2023 versions), official Unity references (supported 2021–2023 versions), release notes (supported 2021–2023 versions), Unity Learn platform resources, and Unity Game Services documentation. In the future, they will expand it with more Unity documentation, discussions, forums, and other Unity resources. Ironically though, it doesn’t yet know about itself, so if you ask it about Unity Muse Chat, it won’t know what to answer:

So, what’s your opinion on Unity Muse Chat so far? Feel free to drop your comments!