The new system is built on Scriptable Objects. This means it is designed for modularity and ease of use.
You start by creating an Input Action Asset (1/11)
From there you can add Actions (like Moving, Jumping) and their Bindings, or the controls that trigger them.
It supports multiple bindings per action. (2/11)
It is Cross-Platform Compatible. As I mentioned above, there can be multiple bindings per action, and these bindings are tied to a control type (Keyboard, Mouse, Controller, etc.) (3/11)
Now you don’t have to write duplicate code to handle Keyboard vs Controller input, just add a new binding and it will automatically trigger the action for you when it detects the input! (4/11)
The Input System is event based with three main events, Started, Performed, and Canceled. Long gone are the days of manually checking everything in the Update() function. Just subscribe to the action’s event, and perform the logic when it’s called. (5/11)
Interactions and Processors!
Interactions let you decide when an action is triggered/performed.
Processors let you add some processing to the action like inverting the value before you read it. (6/11)
Composites are groups of bindings.
For example, you can make a Vector2 Composite where its X axis is [A] and [D], and its Y axis is [S] and [W], for the WASD keys. It will automatically return a Vector2 when one of those keys is pressed. (7/11)
Modifiers allow you to only trigger an action when more than one button is pressed. If you want the player to only perform an action when [E] and [Ctrl] are pressed, you can create a Button with One Modifier, assign the [E] to the button and the [Ctrl] to the Modifier. (8/11)
Now the action will only be performed once both are being pressed. (9/11)
Did I mention all of these are customizable? You can make your own types of Actions, Interactions, and Processors. That’s the power of the Input System. (10/11)
I have a whole playlist of videos on the Input System.
Game development can be difficult, but there are ways to increase your learning process 10x. Here are some things you can do to maximize your learning potential 🧵
⌛ You can speed up in the scene view camera! That way you can adjust the speed and avoid missing the objects you are trying to zoom into. You can also Right Click and scroll the scroll wheel on the mouse to change the speed more easily! (1/7)
You can press “F” when you select an object in the Scene View to focus on it. You can press Shift+F to focus and zoom in to the object! (2/7)
When importing pixel art, make sure to pay attention to the resolution of your art.
Ideally, the size should be base 2, for example, 16x16,32x32,64x64,128x128, however, it is not necessary. Make sure it is a PNG with a transparent background. Tiles by @KenneyNL. (1/8)
In the import settings, select Sprite and then set the PPU (Pixels Per Unit) to the size of your pixel resolution. For example for a 64x64 image, you will put in 64. This is important for the pixels to be scaled correctly. (2/8)
Thank you again for a great takeover ♥ Make sure to give Joyce's website a visit, we've also compiled all the tips below so you can find them in one place 😊
I wanted to finish this Takeover with something I get asked a lot: how do I set up my characters in Unity? So here is how to create, rig and animate simple characters all in Unity! I threw together a cute robot for this occasion 🤖
It’s easy to create simple characters with basic primitives. Probuilder is useful too! For this character I used 4 models that I duplicated, scaled, rotated around to create this cute robot. It helps to think about animation at this step!
Once the model is done, I create empty gameobjects, and place them where the joints would rotate. These are the objects that will get animated, it’s important to name them correctly for animation! Using front/side views helps with precise placement.