One of our favourite parts of the day is hearing from you folks, and there’s a ton of places that can happen – email, Udemy DMs, Facebook, Twitter, the forum, reviews etc. A few weeks back we got the following awesome message of thanks… I just wanted to say thank you for the Unity (and Unreal.. and Blender!) courses you’ve made – since taking your original Unity course, I’ve become a freelance/indie game developer – I’ve released one game and am working on another (unannounced) project for the same company. I’m also about to release my third Udemy course! Your course helped me switch from being a (junior) software developer to working in the games industry with enough knowledge to share with others – so thank you! Jenny Delighted, and intrigued to hear more, we reached out to Jenny. Below she shares her GameDev.tv journey. What’s your background? I used to be a theoretical physicist (in quantum information) and did not particularly enjoy programming! After leaving physics, I decided to look into coding again – its logic appealed to me – and this time found I really liked it. Growing up, I always wanted to be an astronaut or physicist; […]

Despite the huge global reach of the web, web technologies are rarely considered as an alternative to native apps. Traditionally web apps are slow, feel non-native, don’t work offline, and yield poor re-engagement. Developers assume that native apps and games are required to serve mobile users. They create apps that are large to download, when only a fraction of that data is needed to delight the user. So they develop for iOS and Android and the “walled gardens” of the app stores take 30% of their revenue, and slow down the Software Development LifeCycle. 1000s of new apps are released every day, making it hard to stand-out. Additionally users rarely keep new apps so reach is very low. Technology Background Back in 2015, Googler Alex Russell and his partner Frances Berriman coined the term “Progressive Web Apps” or PWAs. Since then Google have been driving the required technologies forward. In March 2018 Apple added “service workers” to Safari on iOS, meaning that all modern mobile devices can benefit from fast and offline-capable web apps. This was a pivotal moment in the future of web apps, what’s more they are coming to desktop in 2018. A PWA is simply a website […]

A common cause of confusion is the difference between this and gameObject in Unity code. this is the current component, so for example if inside Player.cs then Destroy(this) would destroy the Player component, but not the game object in the scene of hierarchy. gameObject is the current game object. So in the example of a Player game object, with a Player.cs component script added then Destroy(gameObject) would delete the entire game object from the scene and hierarchy, not just the Player component. I hope this helps

Unity has a rarely used feature known as Scriptable Objects. These are essentially very light weight components, allowing one to edit them in the editor, set pre-defined states, and place them in components as required. Instead of inheriting from MonoBehavior, inherit from ScriptableObjects. ScriptableObjects do not have all of the same states that Monobehaviors do, they can be validated, but do not have the Update/Start/Etc methods required by MonoBehavior. Materials are actually Scriptable Objects, along with several other components in the Unity Architecture. One of the simplest uses of Scriptable Objects is that of a shared state. Let’s say that you have a score that many different objects need to know in the game. There are basically 3 ways that you can do that: use a static object or Singleton, use a single component that keeps the state, or use scriptable objects. Static Interfaces are not well supported in Unity. If one changes the code, Unity cannot hot swap the state. They can change the entire system, but it can sometimes be unclear what in the system can change things. The also suffer from a difficulty in testing individual components. For instance, what happens if you have a score board, […]

In this post I’m going to assume you’re already familiar with the Blueprint tools for UMG (Unreals UI framework). These are definitely the best way to go about designing you interfaces. Who wants to be doing that in C++? But there are good reasons to be using C++ for the logic driving your UI: version-ability, performance or just preference. How can we seamlessly bind our clean, performant C++ to the beautiful UI design created by the editor? This post outlines the tips and tricks I’ve learnt. Basic setup The first thing I suggest you do: make a C++ parent class, it can be empty to begin with but you’ll need to derive from UUserWidget. Then we can go along and re-parent the Blueprint widget to this C++ class. If this seems familiar, good. It’s very common to setup a Blueprint child with a C++ parent. It allows us to put a designer friendly skin on a C++ core. That’s what we’re doing here after all, just as we might with an Actor or Pawn. Creating a Blueprint Widget from C++ You may not want to load you widgets from C++. This is a task commonly accomplished in the Level Blueprint. […]

For the last few months, I have been fascinated with Elon Musk’s Tesla Roadster that he launched in to space. I was fascinated so much I even created a website, http://www.whereisroadster.com, which tracks said roadster in it’s travels through space. I watched the video that SpaceX released showing video of the car traveling in Earth orbit for several hours. In that process, I decided that I wanted to make a simulation of what the Roadster would look like, and in the end I decided I wanted to make a screen saver that would show where the Tesla Roadster is in space at any one time, and show it to the user. In the end, I developed a simulation in Unity that looks something like this: This simulation captured my attention, but I wanted to figure out how to make it in to a screen saver. In the end I ended up releasing this to the Unity Asset Store, but I wanted to give you at least the basics of what is required. The first thing is that your application must be able to run completely on it’s own. This means no inputs, setting up the screen resolution, etc. Secondly, add […]

Waiting for Blender to render something can be a real pain and if you are doing an animation the time is only compounded! There are a number of things you can do to speed up rendering animations and we’ll go through them all in this article, they’ll apply equally to singles frame renders too. The benefits of some of the optimisations can be reduced a lot for simple scenes, I mean what’s a 2 second saving… But wait at 30 frames per second, that’s a minute of rendering time saved for every second of final output! Savings can compound significantly when animating Save Before You Render Good advice in general! Rendering is one of the main causes of crashing in Blender, and rendering an animation only compounds that issue. Save you work before you hit the render button! Nothing worse than having to reconfigure your rendering because you forgot to save. Render Often Test your work often to make sure what you think is happening is what really is happening when it comes to your rendering. Contrary to the time saving advice below, do render at final resolutionand settings occasionally too, I have had horrible artifacts appear that were masked […]

Ever wondered how to get your game to rank? Complete Unity Developer student, Rafael, shares his experience of taking his first game from nowhere to third in the Google Play store listing (for the term “ragdoll physics”). Rafael’s Story My name is Rafael Rivera, I’m a 38 year old advertisement bachelor from Rio de Janeiro, Brazil and I’m an Indie Game developer. Since I can remember, I was always playing video games. I’m the type of gamer that enjoys every kind of game – from 8-bits to flash games, mobile, Xbox or PC. If it’s fun then I will play it! I always wanted to work with games, but it was not an easy option back then… before the internet. Yeah, I’m from that time. Since I decided to start my Gamedev journey with Unity, about eight months ago, I searched online for courses and found Udemy. I clicked on their ‘best-rated Unity courses’ and found “Complete Unity Developer – Learn To Code By Making Games” with instructor Ben Tristem and team. I learnt everything I needed for my first game: animations, level managers, buttons, sounds, physics, coding in C# and more. Ben Tristem is a great teacher. The course made […]

Installing Multiple Versions Of Blender On Windows A new version of Blender has come out, so should you install it and get all the new shiny features and bug fixes? Not so fast! There’s a better way of doing this, so read this article and save yourself a potential nightmare. I let everything else update, why not Blender? Have you noticed that Blender doesn’t automatically update, there’s a reason for that. Have you installed Blender through Steam or Ninite? I would recommend you do not. So what are the potential downsides of installing the latest version or having it auto update through software like Steam or Ninite? Well without taking control of this process they can vary from irritating to completely devastating. They can include: Losing your custom Blender profile Losing installed add-ons and their configurations. Project not working as they did before. Projects being completely broken! That is why Blender doesn’t automatically update by itself. So is there a solution? Yes, you can manage your Blender Installs so you can have multiple versions of it running on a single computer. . There are 2 ways to achieve this goal. Manage the install process itself. Run Blender in a portable […]

Always brightens our day to see what you folks create while taking our courses. Today we’re sharing Lukas’s story, about working as part of an aspiring indie GameDev start-up in South America and releasing their first game. What’s your background? My name is Lukas, I’m a System Engineer and Mathematician and I’m the programmer in the MIKRO team. MIKRO is a nascent indie GameDev company in Colombia, South America. As well as myself, there’s Javier (our 3D modeller) and we have some other people who take part, depending on the size of each game. How did you end up on a Udemy course? My experience as programmer is good, so I decided to make games in Unity and C#. I knew the engine from the first versions, but hadn’t used it for a couple of years. To get quickly up to speed, I decided to take some courses and looking on the internet I found GameDev.TV on Udemy. In MIKRO we started with a game called Super – Gravity Switch Battle, which we wanted to be the opening chapter for a possible sequel. This first adventure is a basic platform where our little potbellied hero jumps, changes gravity and takes powers to […]