Linux and this course - helpful hints, hopefully

Hello out there gamedev land!

This is a place for me to post useful things using Linux, so that if others want to use Linux for this course they may have a preview of what to expect. I use the Linux operating system exclusively, I have nothing else. I know that Linux is not a supported OS for the course but I am doing it anyways. I plan on using this thread as a place to post how I have done it and what glitches I come across while doing so.


Preliminaries

My Linux box:

Linuxmint 18.2, which is based on Ubuntu, which is based on Debian. (Linux people will know what that means). So any system that is Debian based should have similar results to mine.
GPU: GeForce GTX 550 Ti

Linux specific Unity3d:

I am using Unity 2017.1.1xf1
Its found here, near the bottom of page 1. try searching the page for “2017.1.1xf1” to find it easily
https://forum.unity.com/threads/unity-on-linux-release-notes-and-known-issues.350256/

Visual Studios code:

using version 1.18 as of writing, but this is updated frequently
.deb (debian install file) found here:

Extract Method Functionality

“Extract Method” is introduced in Section 2. To get it working you may need to update your MonoDevelop. The mono-project is sponsored by Microsoft. It is an open source version of the .NET framework. Mono version 5 or above should get “Extract” working. Check your Version of Mono with this command:

$ mono --version

You can install or update to the most current mono here:
http://www.mono-project.com/download/

Initially, I was using mono version 4 and VS code kept throwing me an error on start (but it would start). Updating mono should fix any Visual Studio code errors that you find. It did for me.

No Intellisense / Autocomplete

Occasionally, Visual Studio Code intellisense does not work for me. If this happens do the following:

  • Close Visual Studio Code
  • From Unity: Assets > Open C# project

This re-starts Visual Studio Code with intellisense working. Simply restarting Visual Studio Code doesn’t seem to fix it, I have to do it via the Assets menu in Unity.

Version Control:

Using standard git via the Terminal

Snipping/Clipping Tool

I use Shutter. It is probably in your Linux distribution’s Software Manager/Repository
Kazam is another good one. I use it for recording my Desktop/Window:
Or, from your debian based terminal:

$ sudo apt-get install shutter 
$ sudo apt-get install kazam

Good Luck out there!


Section 1: First Steps

Everything has run smoothly with all areas of Section 1. Nothing to Report.


Section 2: Terminal Hacker

Regarding the provided Terminal assets for Terminal hacker: while testing in play mode I had no delete or backspace functionality. They simply did nothing at all. However, when the game is built and run the backspace works just fine. A quick search of Udemy and these forums for “backspace” returned zero reports that were similar. So I assume it’s a Linux only bug.

Everything Else works smoothly, game builds and runs just fine.


Section 3: Project Boost

Version Control Install

The Kraken Version Control noted in the course supports Debian Based Linux. I will be using git from the terminal for my source control. You can find it in your Distro’s repository or:

$ sudo apt-get install git-all

or read here:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Linking to GitHub

If you have a GitHub account and you want to push you local files to it with git then you will need to authorize your computer to talk to GitHub. I do this with SSH keys. You can find out how here:
https://help.github.com/articles/connecting-to-github-with-ssh/

This will also come in handy for pushing your 3_Project_Boost to GitHub for the first time.
https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/

Git Helpful Commands

$ git status
$ git diff
$ git --show-color
$ git log
$ git add .
$ git add -A
$ git commit -m 
$ git push

Yeah… Thats enough on that…

Project Boost Completed

Finished this section without any Linux related issues.


Section 4: Argon Assault

Updating Unity

I am updating the Linux Unity Editor to version 2017.2.0f3, which is currently the final build of 2017.2. It can be found here, post #54:
https://forum.unity.com/threads/unity-on-linux-release-notes-and-known-issues.350256/page-2

Issues found:

  • No fly through after update - This was simply an issue with new default settings after updating Unity. The scene view defaulted to isometric mode. The Fly Through keys (right mouse with WASD keys) did not work.
    ** The Fix** – Change the text under the Scene Gizmo to “persp”
    iso

Lecture 81 - Waypoint Utility Scripts

  • Issue found - There is no “Utility Package” under the Assets > Import Package Menu, and there is no Unity Down Load Assistant for Linux Unity.
    ** The Fix ** – The Standard Assets packages by Unity is available from the the Unity Store. Search for it and import as usual.

Lecture 94 - SendMessage()

  • Issue found - Rename Tool does not appear to work to change both the class and file name at the same time. After renaming the Class I used the Quick Fix menu (ctrl + . ) to change the file name to match the class. Selecting “change file name to PlayerController.cs” did nothing. No changes were applied so I did it manually from the Unity Editor.

Lecture 103 - Back-pedaling WIth Version Control

Useful terminal commands for Stash:

$ git stash list     // lists the stashes
$ git stash show -p      // shows the difference between the stash and the current state
$ git stash apply     // restores changes from the last stash
$ git stash pop     // restores changes from the last stash and then deletes that stash
$ git stash clear     // deletes all stashes

Useful terminal commands for branching:

$ git branch newBranchName     // creates a new branch with the specified name
$ git branch --list     // lists all branches
$ git checkout branchName     // change to the desired branch to make changes to that branch
$ git reset --hard commitNumber     //rest your current working branch to a specified, prior, commit. 
$ git log     // list prior commit changes and their commit numbers/code

Lecture 110 - Possible Lighting Bug

At the very start of my level, during play testing, the scene suddenly restarts with a change in lighting. It did not appear when using the waypoint scripts. It seems to have manifested after using Timeline. Feels more like a coincidence than a cause though…

UPDATE - When play testing game from the splash scene, the lighting bug goes away. When the the game is built and run the bug does not return.

Argon Assault Completed with no real Linux issues


Section 5: Realm Rush

Completed. No linux problems.

4 Likes

Sweet stuff, nice one! Keep up the good work and sharing it with other students.

1 Like

Nice tips ! I have used the linux editor in the past and it was working like a charm !

1 Like

@sampattuzzi @GrossePistache ,

Thanks for the encouragement, I will keep at it. :slight_smile:

1 Like

Unity hub for Linux is now available.
https://forum.unity.com/threads/unity-hub-v-1-3-2-is-now-available.594139/

1 Like

I will have to give this a try, just for testing purposes. I have multiple versions already installed in a directory, but I do like the idea of the hub. Thanks!

1 Like

Privacy & Terms