Basics of Scriptable Objects in Unity

Today we will tackle something easier as the subject of Scriptable Objects in Unity is fairly straightforward. What is so cool about them is that you can throw so much different thing in them!

What Scriptable Object is?

According to the definition provided by Unity, Scriptable Object is a data container that let you save a lot of data and reduce memory usage. You can create them from code or by making new instances in the project view.

Creating Scriptable Object

Thanks to that you can easily create a lot of different representation of data, for example, inventory items, skills, game modes and more.

Using Scriptable Objects as items

The sky is the limit as they say ?

Continue reading “Basics of Scriptable Objects in Unity”

Drag and Drop in Unity

Recently I got a question to help solve some problem in Drag and Drop implementation in Unity. So as a bonus I decided to make my example of how to implement that! ?

Drag and Drop mechanic is often used in mobile games, but you can also encounter then in PC games. But thanks to Unity’s Event System this implementation will work fine on both platforms! ?

So let’s get started!

First of all, we need to create UI for our example! It will look like that:

UI setup example

Great! We are over the hardest part!  ?

Continue reading “Drag and Drop in Unity”

Design Patterns in Unity

You might already notice that I wrote a lot about design patterns and examples of use for them in Unity. I am genuinely interested in writing clean code and designing project architecture. This brings me huge enjoyment and satisfaction, especially when the team is following project guidelines and everything looks so perfect. ?

Being a programmer means that you need to improve your skills constantly. So today let’s summarize things that I wrote on this blog so far in term of Design Patterns! ?

What is Design Pattern?

The first thing that you need to understand is what “design pattern” means. So design pattern stands for a programming concept which solves conceptual problems. It can be related to creating new objects, making the code more independent or modular, or even split your project into different layers of responsibility.

Continue reading “Design Patterns in Unity”

Events or Interfaces Listeners?

If you’re reading my posts and you’re checking my public repositories, you might notice that I’m implementing UI with Events that are passing input to the controllers. This is really convenient as you have a clear separation between logic and display layers.

Background

To recap what this UI implementation looks like, let me first explain where it comes from.

From the beginning, I always tried to make my code modular, but I couldn’t grasp how to do it in a really clean way. It was literally taking me years, multiple projects and few programming languages to get to digging into design patterns finally. With them, I started to understand more of what I was doing and how easy it was to start taking care of your code and separate different layers from each other! ?

Continue reading “Events or Interfaces Listeners?”