#begin

 

Sooo, as I promised in the previous blog I was going to post some more information about the podcast I am starting. In today’ s blog I’m going to post the entire transcript of the introduction episode. I recorded it a while ago and I’m almost done setting everything up. I’m still trying to get an affiliate link from Unity3D and the Asset store so I can generate some passive income for the show to cover the hosting etc. But, I think it’s about time to post some more information about this. So, below you can read the entire transcript of the episode or go to podbean or this page 🙂 Thanks and enjoy!

 

All Things Unity Podcast, Episode 0 – Introduction

Hi there my fellow gamedevs and welcome to the All-things-unity podcast! My name is Ruben and I’ll be your host.

This 0th episode is dedicated to spending some time talking about what this podcast is about, why the podcast exists, some background information about myself, the format what the future holds and much more.

So here we go! The 0th episode of the all-things-unity podcast. Hehe, yeah we’re off by one. This has been on my mind for a long while now and I’m really excited to start this thing. Today’s episode I would like to dedicate to introductions, background information, Why I started this thing and more.

I have made a little agenda so let me quickly summarize it before we lift off:

1. Introduction
2. About me
3. Why I started this podcast
4. The value it brings to you
5. The format
6. Future topics
7. The dreaded topic of Monetization
8. contact information
9. good bye’s

 

Introduction

So first things first; this is a podcast about Unity3D development. Not just developing games, but also business apps, simulations and other applications you can use unity for. Heck we might even loose ourselves in the metaverse. We are going to dive into best practices, popular design patterns and game architectures. Software development methodologies and processes. And of course game design and everything that revolves around it.

The aim is to be an entry level platform while still diving deep into the trenches of game development every now and then. And, of course, in the end having fun and producing valuable content for everyone involved!

 

About Me

So yeah, let’s first introduce myself, since you probably want to know who I am and why you can or should trust anything that I have to say. Well, my name is Ruben and I’m a software developer from The Netherlands. My background is in Computer Science and I have a degree in game-development and a bachelor’s plus a master’s degree in software development. I’m really into software best practices like design and architectural patterns, SOLID, Test Driven Development and Domain Driven Design for example. I have been working with unity ever since version 2.5, which was released on March 18th 09. Trust me, I checked! I have been using it professionally since mid 2012 and still do. To this day.

Now does this make me Unity-God or the end-all be-all of unity3D development? Hell no! Yet, I do consider myself an expert in Unity3D. The interesting thing here is that I have always used Unity3D for developing business-applications like: virtual simulations, virtual training software and serious games. Mostly in area’s where virtual training greatly reduces the cost of in-person training like healthcare, military, aerospace or automotive. Some quick examples that come to mind are; teaching a student how to operate certain medical equipment, which if it goes wrong, would have major consequences for the patient in real life. Or, doing maintenance training on a fighter-jet. Each individual student can then do his training without risking damaging the equipment. Or, yet another example, how to do maintenance and repair in a chemical plant, and again, if anything would go wrong IRL would have dire consequences for all people involved including the environment.

So because if this I’ve always used Unity3D in a particular way. I mean, since we were simulating a lot of behaviour we needed to the code to be correct and be easily reviewed. I’ve always taken a code-first approach and have treated Unity3D mostly as a delivery mechanism or UI, so to say. This led to me having a particular set of skills, and IFF I find commented out code I will find you. Nha, joking aside. What this essentially means is that I do as much as I can in code, and don’t use the inspector that much. I think, some bad experience with the way unity treats serialization in the scene or prefabs also led to taking a code-first approach. Although this was more prevalent in the early days than it is now. Currently I do not experience as much problems with messed up prefabs, SO’s or scene files anymore. Apart from the incidental re-import you have to do fix things every now and then. Like when you upgrade to a new unity version or something. Then it still happens sometimes but things have improved greatly over the passed years.

This also leads to source-code being easily reviewed and tested since you don’t actually need to run unity. Although in many cases you still do use or run unity during testing. And I know this approach goes against unity’s component based design, but for applications like simulations and business apps it is very useful to take a more traditional approach when it comes to things like design patterns or architecture. Since it is easy to communicate with other developers this way instead of having lots dependency injection magic in inspectors. Or, maybe another aspect is because, for a long time I worked in a team of 5 programmers, and only 1 artist who did modeling and UI work, and thus we needed to solve things in code instead of Unity. I don’t know exactly but, I still really like this approach in unity.

But I understand you completely if you say that this is the wrong approach since it does not build upon unity’s strong point, which is component based design. Also, switching to something like the ECS is more problematic in our approach. You have to do some major refactoring to get things going again. You know. If you are used to a component based architecture, transitioning to ECS is probably less of a hurdle. But we have not used that in production yet and probably don’t need to any time soon. Funny enough the ECS is not supported in the latest unity version anymore until they update it.

But enough about this. Let’s talk a bit about my current dealings with Unity. I still use it as my daily driver professionally at my current job, who shall not be named, but with a bit of digging you can probably find out. We use unity to provide a high quality 3D experience to our users. I will not go to much into details. I also want to point out a little disclaimer here: that the content and opinions you hear in this podcast are MY own and are not linked to or supported by my employer in any shape or form.

In my free time I like to write some small libraries or frameworks to use with Unity3D. I’ve written a couple fun things last year like a lastpass plugin for Unity3D. So you have access to your password vault cross-platform and even in the editor. And I wrote a very simple integration for InnoSetup which is software to compile setup wizards for windows applications. You know these simple wizards to install software on your pc. With this plugin you can configure and compile windows setup wizards straight from your editor and maybe hook it up to your continuous integration pipeline. Another fun project I wrote last year is called pointless-man which is a simplistic pac-man clone that runs in a unity editor window, which was pointless to write, yet fun.

But enough about me, let’s discuss why I started this podcast in the first place.

 

The Why

So there are several reasons why I started this podcast. First and foremost; I think our community needs one. I have looked around on many podcast platforms for Unity3D podcasts since I’m a ruthless consumer of podcasts during workouts, walking the dog, commute to work if I have to be at the office ofc, or doing like daily chores and stuff around the house etc. I’m currently subscribed to 30 podcasts yeah, I just counted them and was a bit amazed myself.

Ranged across many topics like software development, technology, food and nutrition, sports, psychology and more. And Yeah, I know there is a podcast called The Debug Log, which is a very very good podcast about game development in Unity and a bit Unreal and I strongly encourage you to listen to it. So kudo’s to the guys producing that! Even so, if you have not listened to the debug log, pause this episode new and go listen to all of their content. By the time you come back, there will probably be more episodes released of this podcast. So it’s a win win I guess. But the schedule by which the debug log releases new content is a bit too infrequent for my taste and sometimes there is like months of silence. Which is OK ofc because it’s their time and effort, but I would like to have some consistent podcast about Unity3D, but I couldn’t find one and thus started my own. And yeah, I’m a total podcasting noob as you might have noticed by now, but I’ll try my best to make this bearable. So excuse me for my horrible editing haha. It will improve over time, I’m sure.

A second reason to start this podcast is that I have been part of the Unity3D community for almost over 12 years now. I have always gotten much information from the forums, reddit, youtube and other sources and I feel like this podcast is my way of giving back to the community. Also, if you believe Uncle Bob Martin’s hypothesis that the number of programmers doubles every 5 years, then ALWAYS half of the programmers in the world have less than 5 years experience. And thus, we are doomed to repeat the mistakes of the developers that have gone before us. I’m not sure if we double every 5 years but there is certainly always a shortage of developers right? And more are always needed. So the offering cannot keep up with the demand, and it has been this way for a very long time. At least, as long as I can remember. Uncle Bob did some research about this and came to the conclusion that the number of programmers doubles every 5 years. He talks about this in one of his keynotes, The scribes oath at the GoTo conference if I’m not mistaken. I’ll make sure to put it in the show-notes for you so you can check it out. It’s an interesting talk. So, this is my way of helping the community to spread knowledge about Unity3D development so that they don’t have to make the mistakes I have already made. And trust me, I’ve made many mistakes. Oh boy.

A third reason is that I firmly believe that podcasting as a platform in general is still on a steep growth curve. I mean, there is a shit-ton of youtube video’s and blogs about Unity but podcasts are apparently very limited. I think podcasts will continue to grow since they are a great source of information you can access while doing something else like working out, commuting to something maybe not work, walking your dog and doing chores around the house. You just hit play, and absorb any information that is interesting too you. This has always worked out great for me.

Fourth, which I think is very important as well, is that since this thing called Covid bitch slapped the world, I think many people are looking for a job that is more fulfilling or maybe just safer, overall. Something they can do remotely from the comfort of their home, right. So I also want to target people who are switching their career, or generally junior devs and help them out by guiding them through this transition. My aim is to get information out there so we can grow our community! I also think that for example the announcement of facebook’s re-branding to meta will most certainly create an influx of new developers and interest in Unity3D or other game engines for that matter. So ,if you would like to hear a podcast about Meta and the metaverse specifically, please leave a comment at……….

So overall I want to help the community out by presenting content in an audio format. So I’ll probably talk more about theory or best practices than implementation details, right. For implementation details there are already many great youtube channels and blogs available.

 

The Value

So what value does this podcast bring to you? Well as I said if you are a junior dev or switching careers then this podcast will help and guide you through the process of becoming a seasoned Unity3D developer. I already have a number of topics on my mind that play perfectly into this and I’ll describe them a bit later in this episode. On the other hand, if you are a medior or senior unity dev then this podcast will probably bring value by refreshing some of your existing knowledge and broaden your perspective on the topics discussed. Remember, you don’t have to agree with me on anything I say, just make sure you leave a comment so we can interact and contribute to a meaningful discussion. Maybe you would even like to be a guest on this podcast, who knows? I’m really looking forward to it.

Because of the code-first approach to unity development, I have, there are probably going to be a lot of interesting discussions about how to design… technically…, and develop a unity app. Although I know I’m not the only one. I remember watching numerous interesting talks at Unity’s unite conference or GDC of people who build very nice model-view-controller architectures with dependency injections frameworks and everything.

One thing I would like to point out is that, me, being a software developer at heart, the podcast will probably target programming mostly, so I’m sorry if you are looking for some in depth information about 3D-modelling, animation or maybe level design. I will probably dedicate multiple podcasts to these topics, but this is not where the focus lies. I guess there are podcasts about these topics out there maybe. I’m not sure though.

So yeah, there is probably many other aspects that are impacted by the podcast but this is what came to mind… for now.

 

The Format

Next let’s talk a bit about the format of this podcast. So first of all would like to start of by saying that I like podcasts because they are often very organic because they are not scripted and thus genuine and authentic. It’s just a recorded discussion among 2 or more participants. So, by saying this I’m very excited to get guests on the podcast and discuss topics of interest with them. So I like an interview format for podcasts very much. On the other hand, sometimes I’ll have to do a so called solo-cast, like I’m doing right now. These will probably a bit scripted in the beginning because I have to get used to rambling alone at my microphone in my little room. So for this 0th episode I wrote an entire script but as time progresses I will probably don’t do it as detailed and just wing it, you know, since I’m more used to it.

Another thing I want to address is the duration. Personally I like the podcasts that take anywhere between 45 minutes to an hour. I think this is a perfect duration for a proper discussion. It’s not to long so it will not be too great a chunk of your time, and it’s not to short where you need to rush things. There might be outliers here and there, like this first one for example, that take longer or shorter but generally I would like the podcasts to be round the 45 min mark.

And as I said before, I like podcasts because they are authentic. Which is pretty rare for other forms of media where they edit the shit out of the content make put everything out of context. So I will do as less editing of the audio as I can. I will edit out awkward silences or things interviewees don’t want in here. Like when they are not sure if they’re breaking their NDA for example.

Currently I’m also very hesitant to cover like the official Unity3D news or blogs. Me being in a couple of Slack and Discord groups see many news articles being posted so you can read them there. What I mean is I don’t want this podcast to turn into the weekly unity news podcast. I want to produce original content for the listeners and provide value.

Speaking about weekly. I’m not sure what the schedule is going to be since I still need to figure that out. I would like to make it weekly but I’m very busy already and thus need to find a way to squeeze this into my schedule. When I do know, I will let you know as soon as I can.

I guess the next episode is going to take a while since if there is feedback I want to take it into account as soon as possible. So you might need to wait for the next episode for a bit.

 

Future Topics

So let’s talk about future topics I have already though of. They are all related to Unity3D, software development, processes and practices. And, well first of all I would like to dedicate a podcast to writing clean code in Unity3D or C# for that matter. I know there is mixed opinions about Uncle bob’s clean code approach but it will bring a huge amount of value to new devs. You don’t need to agree with everything Uncle Bob proposes, but I think it is important to know, or at least have heard what he has to say. This way you can relate it to other practices you may even like better and improve your work. So if you like some other approach better, but you know what Uncle Bob has to say then you can apply things more effectively I think. I know or sure the book called clean code by Uncle Bob made a big impact on me personally. It really thought me to write code that not just compiles and works but is also easy to read and maintain. So I think discussing this is very important at an early stage your software career.

Then I would also talk about how to architect a Unity3D application. So what common software design or architectural patterns you can use. Instead of sprinkling around singleton managers or controller like classes all around your application. For example, when do you take a traditional software architecture approach like an hexagonal or clean architecture. And when would you prefer using a so called ScriptableObject architecture in Unity. These are important topics I would like to address early on in the podcast since they will greatly improve the quality and maintenance of your work. There are several factors involved like the type of project, team size and setup. Like what is the ratio of devs to designers you have and things like scope and duration could play a role as well.

Next, another important concept I very often see questions about on forums is how to build and maintain a proper continuous integration pipeline for unity3D applications. Setting this up for your unity project take some effort but is really important but the problem is that this is often not within the standard skill-set of unity devs. It takes a bit of infrastructure knowledge and maybe a language or two like bash or python or something. So let’s take some time to explore this topic and discuss why it’s a really nice thing to have.

Another topic on my mind is all about Unity3D cloud services. Currently you can use a plethora of cloud services offered by Unity3D like cloud builds, ads, diagnostics, analytics and of very recently new networking infrastructure. I think these services are sometimes overlooked by developers but they can provide great value to your application, essentially for free. Harnessing these will be worthwhile and will probably yield new insights for your game.

Furthermore, a question I often see is related to which IDE to use. There are a couple of choices depending on your OS. But I think, an episode dedicated to the choosing of an IDE would be very nice as well. I’m not sure how to fill a 45 min episode about this, but we will see.

Then, you most likely will not build games all by yourself and thus properly functioning within a development team is also a biggie so I would also like to spend some time discussing development processes like agile, scrum or eXtreme programming. Another fun topic is how to do prototyping and making sure the documentation you have is maintained and thus up to date. This also includes source code control like Git or plastic SCM which is currently shipped with Unity. Many people still scare away from using git. I think that’s sad and we should educate everyone to use git since it will greatly improve the collaboration within and across teams.

And maybe a podcast about applying software best practices and disciplines like Test Driven Development, Pair programming, DRY, YAGNI, SOLID, many other weirdo abbreviations for that matter or object calisthenics and Domain Driven Design for example. There is many things.

And I’m also thinking about writing a sample application where we apply all the practices and tricks we learn in this podcast so we have something tangible, you know? I have some idea’s of what to write but nothing concrete yet. Heck, maybe I’ll even write multiple apps just to show the difference between a code-first approach vs. something like a scriptable object architecture.

So I hope by hinting at these possible future topics I have caught your interest in this podcast. I hope you join me on this new adventure.

 

Monetization

Another topic I also want to address today is the dreaded topic of monetization. Yeah, when I talked about my idea to start a podcast with some friends some of then thought it was a cool idea while others said that podcasts are often free and thus I will end up paying for the hosting costs and everything. And, yeah they have a point here.

I’ll probably cover the costs in the beginning but at some point there might some way to cover the costs. I have been looking at affiliate links for Unity3D and its asset store which are a nice way to earn a bit of money. It doesn’t cost you anything, yet if you buy something from the Unity asset store through my link, some percentage goes into the podcast. So if you want to support me, you can use the link in the show notes and some small percentage of your purchase will be sponsored to the podcast. Again, it won’t cost you anything.

Or maybe just donations are a thing? I don’t know.

Maybe I’ll even setup a simple patreon page where people can join. I’ve seen this before with other podcasts where patreon supporters got the option to ask questions to podcasts guests. That’s something I would probably like since it increases community contribution, which is in the end, what I’m doing this all for.

I just want to avoid having meaningless sponsors trying to sell your random crap. Something like Billy mays fantastic IoT connected toilet brush or whatever these weirdo’s come up with these days. I want these things to be useful to the community so I’ll see what interesting comes up, right.

 

Contact Info

The last thing I want to address in this 0th episode is contact information. You can reach me on podcast@allthingsunity.com or leave a comment on your favorite podcasting platform. And I will answer it as soon as I can. You can also https://allthingsunity.podbean.com/ for now and leave comments there. I’ve not yet come to the point that I made a custom website for this. And also, make sure you rate this podcast although I guess it is kinda soon to give a verdict yet, but think about it.

You can also find the show notes there and don’t forget to use the provided link when you buy anything from the unity asset store. I would greatly appreciate it!

So that’s it for this episode I hope you liked it and join me on this journey to build a proper unity3d oriented podcast. And if you have any feedback be it positive or negative please leave me a comment so I can improve things. Like maybe I speak to fast or slow or soft or loud, whatever, leave me some feedback if you like to.

Thanks for listening, see you next time, and don’t forget:

With unity we can do great things!

Game over

 

#end

01010010 01110101 01100010 01100101 01101110.

Hey, sorry to bother you but you can subscribe to my blog here.

Never miss a blog post!

You have Successfully Subscribed!