How to find a Programming Job

TLDR

See Below for more info about these top 5:

Angellist

HackerNews – Who Is Hiring

We Work Remotely

Google Jobs Aggregation Widget

Indeed

 

LinkedIn

 

  • “LinkedIn is really worth a lot. Keep it updated, because at a certain point in your life they will just start throwing job offers at you. It’s really amazing.”
  • LinkedIn Inmail directly to senior engineers hiring > feeds with recruiters advertising positions
  • “Really fill out your LinkedIn, every class, every langauge, tool, etc you’ve used, and even attach a copy of your resume to your profile. I found that recruiters are looking for people with certain skills or match certain criteria and are savvier than you would think at searching for people with those skills and criteria. Basically do everything to can to be in the search results for as many recruiters as possible.”
    • “Include frameworks or other technologies you used alongside where and how you used them.
      Don’t attach anything as a general skill in a list unless you are confident you can pass being tested on it.”
    • “I would be careful attaching any framework or language you’ve ever touched in a class. Make sure you are at least slightly brushed up on whatever it is. When I’ve interviewed people for entry level positions, I often ask them about a framework, tool, language, etc. on their resume and they can’t talk to me about it beyond giving a few word description of what it is. That definitely sets off alarms for me.”

      As a new grad, what job search channels am I neglecting? from cscareerquestions

Craigslist

“I wound up getting a job that I found on Craigslist, but I only applied after looking at the company’s website and verifying the position was listed there. Craigslist was another source for job postings for employers that I hadn’t run across on LinkedIn/Indeed/stackoverflow.”

“Seconding this. Got hired off a place on craigslist recently for my first position, Small-Mid sized firm using a tech stack I liked and willing to teach me stuff.”

As a new grad, what job search channels am I neglecting? from cscareerquestions

 HackerNews

Check out the who is hiring post that happens every month on Hacker News. I believe the website http://whoishiring.io maps it to a job board. Never used it to apply but it is helpful in sewrching.   They usually have instructions in the post on how to apply.

Heres the one for August 2018

Sites

  • Angel List
    • Startups.  Sometimes they contact YOU
  • https://whoishiring.io
  • http://weworkremotely
  • https://nacelinknetwork.jobs
  • http://careerminer.co/
  • http://Dice.com
    • Questionable

A bit different

  • Indeed (Aggregator)
  • StackOverflow
  • Glassdoor is pretty good; you get a nice aggregate view of reviews, salary data, and the job itself.
  • Check out Triplebyte.
    • They’re a really fantastic recruiting company. They’ll put you through their own pretty intense set of interviews, and if you pass, they’ll fast track you through the screening process at a bunch of YC companies.
    • OTOH heard they don’t always find jobs with the best salaries

Heres a list of 16 of them

I have aggregated a list of 16 Job search websites. Can you tell me if I missed any? from cscareerquestions

 

Use the Google Job Aggregator Widget

This is a lesser known trick that I found on reddit

google something similar to: ‘java developer near me’

This will bring up search results, the first one should have a blue boarder. Click that widget.

This widget will search multiple job platforms. It will include jobs like when you click careers on a company website.

Last minute job hunting websites from cscareerquestions

Other Approaches

“Apply to companies of interest to you that aren’t even hiring. Find someway to reach out/email them (this is good especially if they have a ‘we’re not hiring right now but if youre awesome then let us know!’ clause on their careers page). Theres a good chance that that they might be considering putting up a posting, but just havent done so or are doing the usual internal reference business – it takes time before a posting is already set up and like someone else said, sometimes they are already filled via an internal applicant/reference. Also meetups, network your way in, find ones that are of interest to you and chat with people. Be honest about what you’re looking for and have an elevator pitch ready and keep resumes on hand or better yet, ask them for their email/business card if they mention something like ‘sure ill keep you in mind’ or something. Follow up with them and send you resume/relevant links to projects, thank them for their time.”

“I mostly used Glassdoor(It’s more accurate than LinkedIn for me) and Crunchbase (When I didn’t know where to apply sometimes I’d just find random startups there and email them to see if they’re hiring interns). I’ve put together a list of job resources for students: https://github.com/Nevvea7/career-resources Hope it helps!”

“But I’d say look for a slack channel in your desired area for developers. I’m apart of three different cities slack channels and all three have a jobs channel. There are contract jobs, full-time jobs, part-time, intern positions and sometimes people just looking for some help for a week or two. I’ve seen jobs in those channels that aren’t at all posted online, in fact the job I received was for a job that wasn’t posted or even available yet. Like I said, I was very lucky.”

What website do you use to find a job? from cscareerquestions

 

Signal to Noise Ratio

“As I mentioned in another thread recently, the last time I went job searching, I posted my resume everywhere I could and got awful signal to noise ratio everywhere; the only one that was reasonable at all was Angel List, and I think that’s because I looked through postings and initiated contact myself. My conclusion is that you need to put in the work yourself to find jobs that fit you, because recruiters will not.

Also, I was getting half a dozen new conversations every day and it was draining. More leads is not better.

Don’t post a phone number in the first place – there’s no reason to. When recruiters send you a “I saw your resume when can I call you” email, reply with a template response telling them that you won’t take phone calls until you’ve seen a job description, and you’ll get job descriptions and be able to filter out the 90% that aren’t worth even talking about.”

 

“Dice is where I’ve seen some of my better leads come from. It’s dedicated to technical jobs. But honestly, I’d recommend putting up your resume on all of the job sites you can, more exposure is never a bad thing in my opinion. You’ll get a lot of calls/emails from low quality recruiters trying to get you to put in your resume for every position they have. Just ignore them if you can tell they didn’t even take the time to look at your resume/profile.

With the Easy Apply on LinkedIn, I like to either go directly to the company site and apply there if possible. And if it’s a job I feel would match me very well I like to drop a message to the recruiter who put up the ad. It really won’t hurt to apply to most of the Easy Apply postings, just try not to put in a bunch at the same company, might look bad.”

Confidence and Compensation

“Pro Tip: After having worked at several startups and realizing I was getting screwed on compensation and then moved on to a big company and literally doubled my salary…

Don’t let any of these startups convince you to take a crap ton of worthless stock options in lieu of salary. Treat any stock options as being worth almost nothing….

Expect all their founders to come up with some sob story about how not even they make market rate and how some day you’ll be buying Teslas and shit when they get bought out. They’ll tell you that you need to make a financial sacrifice in order to change the world and some other horseshit. They won’t get bought, you won’t change the world that much and if you do get bought out you’ll be lucky to have a down payment on a house… which you could have saved up for when you made twice as much at a real company….

I’m not saying dont go join a startup. Startups can be cool and you can get some good experience at one but don’t dedicate your life to them. If you are going to go down the startup route trade your lack of salary for something else like more vacation, more flexible hours and 40-hour-tops work weeks (and if you are working even a minute of overtime at that reduced market rate, you are getting even more screwed!). Those options are gonna be worthless–don’t ever let somebody convince you otherwise.”

What website do you use to find a job? from cscareerquestions

Blender – Everything I know about it

History

I downloaded Blender over a decade ago (before Youtube), tinkered with it, and let it rot because I couldn’t figure it out. To be fair I gave it no real investment of my time or energy but I was really happy it was so powerful and I was excited to get to know it when the time was right.  A few years ago I read about Blender and how much it had matured.  The impression I got was that although it works a bit unconventionally it had a fantastic user interface which some people swear by.  A few months ago I downloaded it again when it was time for me to start making games and I read a book about it but it wasn’t until tonight I finally legitimately dug into it and figured out some of the things I can do with it.

Goals

In this article I’ll lay out what I know about the Blender 3D modeling tool and will keep track of the best resources that I find for the swiss-army-knife of 3D tools, the mighty Blender.

What I learned today

I learned a bunch of keyboard and mouse shortcuts:

Select, Deselect, Create, Extrude, Select Objects, Vertices, Edges, Faces.
I learned to turn on “Screencast Keys”

I learned to create cool pipes using bezier curves and related Bevel Objects.

I also learned how to navigate Blender from my MacBook Pro Trackpad.

Specifics

Here I’ll list some specifics that I didn’t mention in the videos above:

Select a segment of faces easily.

select a face, then alt select a nearby edge to select the segment in that direction.

Blender - Select all faces in segment
Blender – Select all faces in segment

You can see it in action in this tutorial

Other Blender Tutorials and Videos

Low Level Computing and Assembly

Low Level Computing and Assembly

On this page I’ll keep resources related to the topic above.  I have always had a special place in my heart for games that ran directly on “bare metal” hardware like consoles or the Commodore 64 because from some perspectives things were so simple and straightforward and there weren’t enormous layers of operating environment to bog your code down.  Of course from other perspectives programming was vastly more complicated back then due to the limitations and quirks of computing and gaming hardware and this page will list some resources about low level things of that nature.  I also have a soft spot for classic computing and gaming so there will likely be plenty of that going on here.

Enjoy!

Low Level Computing

  • This video is about an hour long and explains in detail how your operating system works; for example it explains what happens when your computer boots up and ultimately shows you how to create an extremely bare bones operating system of your own that runs a tiny amount of software that you wrote!
    • #ProgrammingIsBetterNowThanInThe80s
      • @35:00 it shows that you have to do some byte skipping to put characters on the screen
      • Notes To Self: Other reasons: Wolfenstein 3D had to do some black magic with the VGA screen buffer turning the bitmaps sideways to get texture mapping to be fast enough.
      • in the NES video I watched earlier today about programming NES with 6502 assembly it talked about how you had to fill up a background buffer with loops bigger than the processor could handle.
  • On this emulator site you can emulate a bunch of old and new operating systems some with assemblers already installed.
    • I ran windows version 1 (interesting how much it has progressed) and freebsd.
  • This video (called How we fit an NES game into 40kb (~12Min)) has high production values and explains many of the optimizations they used to get their (relatively advanced) NES game to fit in the original NES rom size of 40kb which as you probably know is absolutely freaking tiny by todays standards.  It notably does a fantastic job visualizing how their sprites were optimized to fit in the small amount of graphics memory available (8kb) which allowed them to add more actual content to the game.

Assembly

  • Get started by building and running code that does something in assembly in just 20 minutes total.  The most straightforward way to start dabbling in assembly programming is probably to watch this 10 minute video and then run the software he gives you to build and run an assembly program for the Sega Genesis. I watched the video and less than 10 minutes later I had built and run my first assembly program!
  • Here is a good high level introduction to Assembly on the NES which shows that even though pong is effectively a very simple game, making a pong game isn’t as easy as it might seem when you are working at the lowest levels.
    • It also briefly shows writing to video memory, reading from controller input, interrupts on the NES, etc.
  • Here is a good low level introduction to Aseembly on the NES which goes into way more detail about assembly (its about an hour long) but I haven’t tested whether its easy to reproduce his work.
    • There are links to the source code and the assembler in the video description so you should be able to reproduce what he did.
    • But much of the video is really an exposition of how complicated it was to develop games like this back in the day
    • Heres is the code (from the link in the description of the video)
  • Instant translation between C and Assembler
    • https://godbolt.org

 

How does an ‘if’ statement work at a hardware level

I spent some time preparing an answer to a stack overflow question and although I’m not even sure I answered the question they were asking there is a lot of good information in my answer:

The answer to this has to involve an explanation of what software the hardware is executing.

Background: Each processor has a set of built in codes that tell it what to do (its “machine language” or assembly language) and on modern computers one of those is always a “branch” statement of some sort and I think this wikipedia article) will help answer your question.

More Information: A simple example of this is ‘jeq’ in x86 assembler which stands for ‘jump if equal’ which works like:

JEQ R1,R2,addr // IF R1 == R2 THEN PC addr ELSE PC++

which compares R1 and R2 and if they are equal then the program counter jumps to a location in memory (addr) and starts reading commands from that new location (which would be everything inside the if statements curly brackets). Slide 13 of this presentation has more on this.

A possible explanation of this code:

if (4 < 5)

one instruction would load 4 into register a a second instruction would load 5 into register b a third instruction would compare them and the result would be stored in a ‘condition code’ and a fourth instruction would look at the condition code and either jump the program counter to a new location, or continue executing the next instruction

This page is an easy read and does a good job explaining logic gates and multiplexers which are the building blocks needed to make the circuit you are describing

How some of these instructions are enabled at the circuit level is in these amazing breadboard computer videos

This ALU was included in many original 1970s computers and this data sheet explains what it can do and this answer talks about all of the different conditions that chip can solve.

Heres a video that disassembles a simple C program into machine language and although there is technically no if statement, there are related conditional statements which work somewhat similar.

Here are two answers number 1 number 2 with clues about if statements in assembler

And here is an assembly guide from the university of Virginia.

 

 

 

Unity5 iOS Development Resources

First I’m going to run through this tutorial about “Building your Unity game to an iOS device for testing”

Meta Tutorial

As I work my way through this tutorial I’ll post my findings here.

This tutorial shows how to test a game on iOS for free.  It talks about how if you want to publish to the App Store and do other similar things you may have to pay for a developer license.

Xcode has changed in small ways since this was written.  In the section called Building the sample project to your device using Xcode it says that in the top left you can open the project settings by clicking “Unity-iPhone” which didn’t work for me.  Instead I found project settings in the menu but I don’t think it is right because there is no “general” tab nor any “identity section”.  As a result I didn’t do any of this, but did “generate a new certificate” which was a simple two step process back in the same place where you added your Apple ID (Xcode->Preferences->Accounts)

When I plugged in my iPhone via usb (which I had never done before but only because its a new phone) it opened iTunes and made me verify that I wanted this trusted communication to take place then in Xcode it took a few minutes to “prepare it for debugging”.

Ok when I clicked build it failed and said that I needed to “select a development team in the project editor”.  I did some googling and things have really changed so it wasn’t easy to figure out what to do instead: 1. I found a “Build Settings” in the main editor window that had identity in it which let me select my identity at least.  After that it still required me to select the project on the left, then change the ‘target’ in the drop down just a bove the main editor window.  From there I could get to most of the settings it spoke of earlier.  I set the development team accordingly but then I had to go to the info tab and change the bundle id to something more unique than I had put in (per the tutorial I put com.unity3d.mobiledemo but thats not unique).

After that it still didnt launch so I had to go into my device in the general->device management settings and trust things from this developer.  But after that it totally worked!

Getting my Game to Build and play on my iPhone

This is an entirely different prospect.  I’m going to try doing the exact same things that I did with the other project but I know that my project has differences in its setup so I’m prepared to have to tweak things.

Update: Actually the build worked on the first try!  My game is running on my iPhone now!!!  YAY!

Touch Controls

To get Touch Controls working I may choose to download an asset from the asset store but first I want to see what I’m getting into.

Written tutorial on getting touch working:

http://pixelnest.io/tutorials/unity-touch-controls/

This is a cool tutorial that I found while I was looking for what I need but it doesn’t do what I wanted so I’m bailing on it.

Official tutorial on touch controls:

https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial/adding-mobile-controls

This is part of the official rogue like tutorial but I don’t think it does what I am looking for either:

A youtube tutorial on the topic:

This one looks more along the lines of what I’m looking for.  he spends over 60s telling us which of his videos to watch but the code in this is really top notch, tight, elegant and clever.

It was quite good but I saw another video which led me to the asset store where I found this:

Asset Store Options:

https://assetstore.unity.com/packages/tools/input-management/cn-controls-joystick-touchpad-button-and-d-pad-15233

This is free and should do the trick so I’m going to try it out.

Final Virtual Joystick Decision:

I ended up using the CN Controls from the Asset store.  It was really really easy.  I just dragged it into my canveas and changed Input.GetAxis to CnInputManager.GetAxis in my code then built and deployed to my iPhone and it TOTALLY WORKED!!   I’m glad I watched those videos because I now know that I could reproduce this on my own if I had to and I understand most of what these controllers are doing.

 

Problem with Shadows

I found a problem with shadows that only manifested on level 10.

Unity5 Shadows Problem
Scene 10 has problem Scene 9 doesn’t.

One solution I saw at the unity answers suggested increasing the scale of my game, but I don’t think thats wise because of this:

I did NOT end up finding any good solutions online and I believe there is somewhat of a bug but people are pretty religious about this topic for some reason and seem to either think that it “shouldn’t be a problem” because “why do you need more than that distance of shadows anyway!?!” which I think is pretty lame.  Regardless after hours of trial and error (including going back in time in git and copying the entire project and wiping things out behind the senes and re-generating them) I did find somewhat of a workaround.  First I switched build settings from iOS back to Mac/PC and then back to iOS which seemed to clear some shit out and at least made the shadows consistent from one scene to another.   Then I changed the shadow distance to 40 (Edit->ProjectSettings->Quality).  60 might have worked, 100 was pretty bad (My wife said it was Atari 2600 level!).  This does not look nearly as crisp as it looks when the shadow distance is 10 or when you are using the Mac/pc build setting but the lower you go the more disadvantages you get and this was the lowest I could go without seeing any dramatic disadvantages of shadows disappearing and popping up unnaturally toward the back of the screen (it still happens its just not too terribly unnatural).

 

Shadow Distance Differences (iOS Build Setting)
Shadow Distance Differences (iOS Build Setting)

 

 

Code Signing

Half of the times you build (after you’ve plugged your phone in again or done a clean build or for whatever reason) you have to go manually change the Team ID in Xcode but Unity does have a workaround.  In Unity->Preferences->External Tools there is an option to automatically sign your app but you have to put in a Team ID.  I had created one in Xcode (documented somewhat above) but putting that email or my name from there didnt work.  I had to dig deep to find the team.  Almost everyone online pointed me to something that doesn’t exist and said that at developer.apple.com you can find your team id, but since I have the free account atm thats not available from there (There is no Account.Membership section of my account on that site).  I was able to find the right Team ID using a real tricky bash script:

 

 security find-identity -v -p codesigning | awk -F \" '{if ($2) print $2}' | while read acct ; do security find-certificate -a -c "$acct" -p | openssl x509 -text | grep "^ *Subject:" | awk -v acct="$acct" -F , '{if ($3) {sub(/ *OU=/,"",$3);print $3","acct}}' ; done

 

I found that hidden at the bottom of this answer which says that it is a part of the keychain on my Mac (and apparently can somehow be looked up that way as well).

When you run that it takes a few seconds and then spits out the ID then a comma and then the name of the team account you’ve been using in Xcode.  Plugging the ID into Unity worked like a charm.

 

Optimization

When you are done and you want to optimize here is an article all about optimization on mobile

And heres another with a real world game example of optimizing Shadowgun for mobile

Asset Modernization Guide – Procedural Examples

Asset Guide – Procedural Examples

This is a simple guide to an asset in the Unity3D Asset Store called “Procedural Examples”.  It states that it requires Unity 3.5.6 or higher which was written about five years ago so this asset is old and has experienced substantial rot and when you import it it doesn’t run.  This guide will help you get it running in 2017.1 and help you experience most (if not all of what it has to offer).

https://www.assetstore.unity3d.com/en/?&_ga=2.258807946.1438654072.1502225756-817480689.1498423427#!/content/5141

Most of it actually works (after you do this one thing).

I wrestled with this asset for a few minutes and got nowhere so feeling dismayed I put it away and came back to it a few days later and when I looked at it with a fresh set of eyes and a new determination I decided to start removing things that didn’t work to see if any of it would work at all.

First I found several significant errors in the Lightning script so I tried to update them, but I didn’t get very far before I got discouraged and had to admit I don’t know enough about the old particle systems vs the new to be able to port this script.  At that point I gave up and just deleted that script and gave up on that particular example but if anyone knows an easy way to get it working again let me know.

Once I did that all of the rest of the examples worked quite well!

How to use the procedural examples

When you import the asset into a new project you get this: (note: ignore the Textures folder – I added that later).

Unity5 Procedural Examples Asset Folder
Unity5 Procedural Examples Asset Folder

In the top level directory is the set of examples and all of them except for Lightning bolt work just fine. Just double click on them and go for it.

Some really cool results and effects

Most of them are either self-explanatory or come with simple in-game instructions in the top right. My favorites are below (Extrusion was actually really cool)

Unity5 Procedural Examples Extrusion
Unity5 Procedural Examples Extrusion
Unity5 Procedural Examples Heightmap
Unity5 Procedural Examples Heightmap
Unity5 Procedural Examples Extrusion
Unity5 Procedural Examples Extrusion

Quality

There are still some bugs here for example in the extrusion example if you make the ‘time’ too long then that shape just disappears saying that the triangles are out of bounds.  As a result these aren’t going to be good platforms for production code but using their techniques and building upon them is certainly a workable implementation.

Conclusion about the Unity5 Procedural Examples

This is a good set of examples for how to manipulate meshes procedurally and I’m glad that its out there.  It could clearly use a refresh and one of the examples doesn’t work at all but otherwise its informative and pretty easy to get working and could be of value to a lot of us developers.  Thanks Unity Technologies!

 

Unity5 – Learn With Me

Simple Test Environment (aka STE)

Many of the tutorials or examples I make will refer to the STE (aka Simple Test Environment) which is a scene with which you can do a lot of different stuff and it only takes 5 minutes to setup.

Learn about Layers

Simple way to add ‘billboard’ text into your game

Simple way to make Billboard Text SPIN in your game

 

Leveraging the Kenny.nl packs in Unity3D

Leveraging the Kenny.nl packs in Unity3D

Kenny.nl

 

Importing a Kenny.nl pack

 

A quick way to build buildings

An even quicker way to build buildings

Oops!  Accidental Building Geysers

In the process of making procedural buildings I accidentally created this:

And this

And here is how I did it

Unity5 Implementations (aka How to do shit)

Unity5 Implementations (aka How to do shit)

In Unity5 there are often many different ways to accomplish your goals.  Additionally there are many different things you can do but it isn’t always obvious that they are possible or how to do them.  This page shows you implementations of things that can be done in Unity3D v5 which is why I subtitled this article: How to do shit.

Inversion Of Control

If you want to do Inversion of Control or Dependency Injection in Unity this is how

https://strangeioc.github.io/strangeioc/

and use UNIRx for less tightly coupled code

https://ornithoptergames.com/reactiverx-in-unity3d-part-1/

or

https://github.com/neuecc/UniRx/blob/master/README.md

How to make things move smoothly

I was looking into available “tweening systems” this evening and found more than I bargained for:

Tweening Systems:

  1. iTween is the most popular but everyone complains about it having garbage collection problems.
  2. DoTween and LeanTween are the runners up in the popularity contest but they don’t have any GC issues and are probably better choices overall
    1. DoTween is documented better and some say is laid out better and is perhaps a more “complete”package but it requires that you get comfortable with lambda expressions
    2. LeanTween has less documentation and examples but many people say it is straightforward, and incredibly fast
    3. They are both free and open source

Alternatives:

Theres this package called “Movement Over Time” which apparently does things different than a tweening system and is “more like a whole new way of thinking of and doing movement in your game” (from one of the reviews on the asset store).  the same reviewer also said “I am amazed by all the new things I can do in only a couple of lines of code in this framework that seemed impossible before.”

Then I learned about Animation Curves which are built in and can apparently be used in the context of lerping to make that process entirely easy:  transform.position = Vector3.Lerp(fromPosition, toPosition, animationCurve.Evaluate(t));

In the process I learned more about events and delegates which is really powerful shit

How to set pseudo breakpoints

Just put this in your code and the unity editor will pause when it is hit.

#if UNITY_EDITOR if( Application.isEditor ) UnityEditor.EditorApplication.isPaused = true; #endif

Audio

Some say not even to try to use Unity’s built-in audio system but to use Fabric instead: http://www.tazman-audio.co.uk/?page_id=73

It looks like you have to setup an account to download but otherwise it is free for Indie studios and has a licensing payment plan not-unlike Unity itself.

Trying things out quickly in the editor

Add a button or context menu tag to your code

https://docs.unity3d.com/ScriptReference/ContextMenu.html

    [ContextMenu ("Do Something")]
    void DoSomething ()
    {
        Debug.Log ("Perform operation");
    }

About automating Unity builds with Jenkins

How to make a map from an excel spreadsheet

http://saor-gaming.co.uk/tile-based-map-generation-sabrecsg/

How to make Editor Scripts

Heres an article about a number of things including Creating Editor Scripts.

http://saor-gaming.co.uk/tile-based-map-generation-sabrecsg/

 

Terrains

This shows how to draw a pattern and make a terrain out of it!

 

This shows how to make a terrain in Unity that resembles a part of the planet ear

Simplest setting of HUD text

Making the Graphics better in Unity (more like Unreal)

Making a High Score Screen

Making Warp Points

 

Simplest Texture application in Unity3D

 

Lists of other implementations

Here is a large list of GIFs of Unity tips and tricks

 

 

Unity3D Great Code Snippets

Unity3D Great Code Snippets

Why can’t you type these in for us?

I could totally type these in for you but I choose not to because I don’t want to and because there is inherent brain/learning value in typing them in yourself and I believe you will get more value out of this page if you type them yourself.  I type them in again every time I use them.  Start typing or find the answers somewhere else.

How to do something periodically

The easiest way to do this is with “InvokeRepeating”.  The second easiest way is with a coroutine.  But if you want to do it with code in the update method:

How to do things periodically
How to do things periodically

How to Drag an object with the mouse

How to Drag an Object with the Mouse
How to Drag an Object with the Mouse

How to quit your application

How to quit your application
How to quit your application

How to affect a bunch of GameObjects at once

How to delete a bunch of GameObjects at once
How to delete a bunch of GameObjects at once

How to do Collision Detection

How to do Collision Detection
How to do Collision Detection

How to add a menu item to Unity

How to Add a Menu Item in Unity
How to Add a Menu Item in Unity

Cycling through an array the easy way

This is how to set an object to a different texture every time you press the space bar.

Its elegant in its simplicity

Cycling through textures with mod
Cycling through textures with mod

 

Using git with Unity3D

How to use git with Unity3D

The official documentation is here but I can’t recommend that because I found this answer on StackExchange which very nicely sums up what to do, but I haven’t tried it yet because I got distracted by this cool site:

gitignore.io.

I was looking for a good .gitignore file for Unity3D projects and I found that a semi-official one is maintained here but I also noticed that there is a cool website that has .gitignores for tons of different types of things: https://www.gitignore.io/

for Unity its:

https://www.gitignore.io/api/unity

In 2017 I used exclusively the command line git client but recently I’ve been using Git Kraken as a client and it has been working for me very well.  I think the biggest advantage I can think of right now is having the tree of branches visible at all times.

Fork then do a Pull Request

Here are the best instructions for when you are working with someone else git repository:

https://gist.github.com/Chaser324/ce0505fbed06b947d962

Try it by pulling some cool scripts and projects from GitHub

  • https://github.com/MaYiLagann/EscapeBattle
    • This takes some finagling to get working