Unity + Git, Friends Forever – Pt 5 : Forking Git!

You see, the word ‘forking’ sounds a little like ‘fucking’ so we laugh. Jokes. Ah. So. All this Git stuff is great and all, but after setting up one project to integrate really well with Git, adding submodules, branches, etc, you don’t really want to do it all over again for each project. Luckily, as with all problems in the first paragraph of these posts, Git is the answer. Bitbucket, Github, and other repo hosts offer a feature called ‘Forking’, which is really just copying a repo in a fancy way. It’s a fancy way because each copied repo (fork) maintains a connection to the original repo, so if you update the original you can sync the changes into each forked project (and vice versa). A little like a branch, although the repos themselves have no knowledge of the other forks. Continue reading Unity + Git, Friends Forever – Pt 5 : Forking Git!

Ivory Caves and Crystal Towers

Academia, amirite? A question asked at Indiecade 2013(sponsored by Sony and Nintendo) seemed to be what role it has for indies in general. Frank Lantz(NYU) and Chris Hecker(Spy Party) debated whether game school is worth it. More directly, Colleen Macklin(New School) hosted an audience discussion “on the indie community and academia” , from which I stole the title. And this is far from the first time I’ve heard these discussions, from both indies and academics. So what are the issues with games academia? Why should indies/academics care?

nightgames party

Continue reading Ivory Caves and Crystal Towers

Unity + Git, Friends Forever – Pt 4 : Recycling

Any developer or team ends up building a base of code or assets that they reuse in multiple projects. Your team (using Git and a workflow like I outlined in the last few posts) has made new stuff so quickly you don’t know what to do with it. While Unity makes it easy to drag and drop files between projects, it has no built in ability to manage these reused frameworks. As these frameworks become bigger or more important, you need to start managing changes to them more robustly. If you fix a bug while working on one project, your other projects using the same code should get fixed too. You should be able to revert to a past version of a framework without untangling it from the rest of your project. What might help with this? Why, Git, of course! By using Git’s submodules you can get all the benefits of a Git repository plus the ability to add that repo to any project.


Submodules aren’t perfect. They’re rather fragile little things and unlike most other Git operations, if you trip-up you often have to start over. But not to worry! Follow these simple steps and you’ll be sharing assets so much you won’t know what to do with them. As before, I’ll detail the process in both SourceTree and with the command line.

Continue reading Unity + Git, Friends Forever – Pt 4 : Recycling

Panasonic BD-15VU Announced

A hush falls over the auditorium. Film journalists from across the world packed into this Las Vegas theatre to get an exciting first look at Panasonic’s long awaiting followup to the BD-14VU. After 3 long months without a new major Blu Ray player on the market, the market is wondering what’s been brewing in Panasonic’s R&D department. Will it be as powerful as its recently announced rival, the Pioneer XR-12? Will it, as rumours say, need to be connected to the internet at all times? Soon, our thirst will be slated.

(from Techcrunch)

Panasonic VP John Faceman walks on the stage to rapturous applause. He smiles at the audience. “Avatar 2”. The words exit his mouth and the crowd explodes. Yes! Panasonic owners can now join Pioneer owners in enjoying the now iconic IP from 20th Century Fox. He politely waits to let the professional movie journalists in attendance type ‘omg! jizz in my pants’ to their liveblogs.

We mop up, and return our gaze to hang on his every gleaming word. “And that’s not all, with Panasonic(TM) Remote Unit RM-15VU, you’ll be watching a movie more than ever before”. Mr Faceman reaches into his pocket and takes out a small black plastic box. He points it at the screen, presses a button, and a blue alien appears on the screen behind him (*rapturous applause*). “Yes, we’ve made the BD-14VU even better. The remote that let you play and pause a movie is now even better. It’s thinner, has another button on it, and guess what, we’ve improved battery life by 17%!” (*even rapturouser applause*)

Outstanding. Although the 14VU was used by millions of casual movie watchers, the device failed to catch on with the hardcore film buff crowd who tended to stick with their universal remotes. “We’ve been working on the RM-15Vu with several major distributors, and let me just hint now that some of your favourite movie franchises will let you fast forward more than ever!” (*more rapturous applause, several people die*)

“So, the software. I know you’re all eager to see what the next version of Panasonic(TM) Media Device Firmware looks like, and don’t worry, v2.3.1(a) won’t disappoint.” Panasonic International President Harper Stevensonvenson claps himself onto stage (*applause, quieter now since the audiences hands have worn away*) His checkered history had left many movie watchers cool, but the man sure knows how to pretend to be friendly with people he meets. The screen behind him shows a smiling woman on a couch. “I’d like to introduce Panasonic Media Protector 3FY”, Mr Stevensonvenson announces. Social media logos flash over the screen, the woman screams in silence.

From TechnoBuffalo(?)

“Facebook. Say yes to sharing. With the 3FY, you’ll be able to leverage the Panasonic Cloud like never before. 3FY will actually offload some processing to the cloud, which will be better for some reason.”  The two men try to fistbump, but miss. “And that’s not all”, Faceman says, “3FY will help manage your media library. No longer will you have to actually own any movies you buy, and as long as you sign in every day so we can see if you’re being naughty, you can watch your dvds whenever you like!” (*applause???*) “You can even lend your movies to your friends, as long as you sit and watch it with them every time”

“Oh, John I can barely contain my excitement about this next truth bomb” Mr Stevensonvenson says, while making a bomb-explody gesture I think. “With v2.3.1(a), you can integrate your Panasonic(TM) TV with your Panasonic(TM) DVD-15V U like never before. Now, we all know how Panasonic’s patented ImagineWire cable lets your BD-VU send moving pictures to your TV. But we’ve done something even more, you’ll soon be able to actually hear the films, with your Panasonic(TM) TV or Panasonic(TM) home theatre system.” He bows, and is absorbed into the fabric of time. A million commenters write ‘shut up and take my money, good sir’.

“Thanks a lot, Harper,” Mr Faceman walks into the audience. They tear at his clothes, grasping for a keepsake of his majesty. “And don’t worry folks, you won’t have to worry about accidentally seeing an independent film on your BD-15VU. We’ve made extra sure that only well entrenched distributors can afford to market and maintain a film that will play on your system.” Faceman, now naked, returns to the stage. “Oh, and one more thing. We are now  including a screen size detector in the box, just to ensure the 15VU will only work if you can afford a large enough TV. In return, you’ll be able to skip chapters with your voice. That’s all today, folks, see you at CES!!!” (*no applause, the audience never existed*)

Unity + Git, Friends Forever – Pt 3 : Workflow

OK, so you know how to set up your Git repo (Part 1), and you know how to use it (Part 2). This final part will go over the workflow I use with my Unity projects & how to collaborate with other members of your team. Part 4 will show how to reuse code or other frameworks, and part 5 how to quickly start a new project with all your favourite settings & packages already installed.

blogpt3 header

Continue reading Unity + Git, Friends Forever – Pt 3 : Workflow

Unity + Git, Friends Forever – Pt 2 : The Essentials

This is part two of a three part guide to using Git with Unity. Part one deals with setting up Git and Unity to work together, while part three will detail a workflow that works well with Unity projects in particular. This part is a guide to the essential Git functions you need to know to use it. It will most help those new to Git, but anyone can use this part as a Git cheat-sheet, or as an intro to SourceTree or the command line.
So…what can you actually do with this Git thing?
Part2 header Continue reading Unity + Git, Friends Forever – Pt 2 : The Essentials

Unity + Git, Friends Forever – Pt 1 : Setup

I recently wrote a quick post about how I use Git submodules to manage my code/asset packages in Unity. While writing it I realised how difficult just getting to that stage with version control can be.

We’ve all heard how useful this version control thing is. If you work in a team larger than 2-3, you need it to manage changes to the project. If you don’t, you need it to store backups and history. It lets you reuse code and keep it updated easily. It saves my ass daily (when my laptop died suddenly last week, it took longer to find monitor cables than it did to get my project up and running on another computer). It’ll save your ass daily too.

So, here’s the first a multi-part, step by step guide on how I use Unity with Git on OSX. Yes, there are other methods. Yes, there are other platforms. But I use Git like this.

gitguide intro Continue reading Unity + Git, Friends Forever – Pt 1 : Setup