Do you have your Vive? Are you looking at SteamVR?
Are you ready to start building fun games and experiences in Unity?
The Unity game engine has put out their big 5.6 update which is a very exciting release, it now includes full Vulkan support! It's going to be interesting to see how many Unity games get updated to use Vulkan, but going forward hopefully much newer Unity games will see great performance on Linux. Dotnet add package Unity -version 5.5.6 For projects that support PackageReference, copy this XML node into the project file to reference the package.
Unity User Manual (5.6) Use the Unity Editor to create 2D and 3D games, apps and experiences. (Download the Editor at unity3d.com.) The Unity User Manual helps you learn how to use the Unity Editor and its associated services. Today I show you how to Detect distance between two objects and make a simple distance trigger. Note: there are alternate ways to do this however its a basic. Unity 5.6 and Unity 2017.1 are two separate licenses. They sort of are. The 5.x series had perpetual licenses and subscriptions. Unity 2017 is subscription only.
Read along for some basic setup steps and a couple useful tips!
The SteamVR Plugin
If you’ve created a new project, the first thing you’ll need is the SteamVR Plugin.
This plugin has everything you need to get up and running, including some sample scenes.
If you’re looking for info on SteamVR with previous version of Unity, it’s been archived here: http://unity3d.college/steam-vr-unity-5-4-beta/
The [CameraRig] Prefab
The SteamVR team has done a great job at making it easy to start out with the Vive.
Once you’ve imported the SteamVR plugin, you can find the [CameraRig] prefab located in the SteamVRPrefabs folder.
Create a new Scene
Delete the DefaultCamera
In a new scene, drag the [CameraRig] prefab into your hierarchy.
Now hit play again and enjoy the boring blue skybox.
If you don’t see anything, check your error log.
You may have a message saying:
If so, you need to launch SteamVR.
To do that, open steam and click the SteamVR icon in the top right corner.
Once it’s started, go back to Unity and click play again.
If it still fails to start, post any error message you see in the console into the comments below so I can address your problem.
An Empty World
Looking around and replacing the controllers
If all is working well now, you see the skybox and nothing else, until you turn on your controllers…
Turn them on and you should immediately notice they appear in-game. The triggers should adjust as you press them, and the trackpad should light up as you touch it (just like in the SteamVR Tutorial).
The controllers are available because of the [CameraRig] prefab. If you expand it out in the Hierarchy, you’ll see the “Controller (left)” and “Controller (right)” children.
In the image shown here, I’ve turned on only the rightcontroller, so the left is still deactivated (dark grey).
When you’re in play mode, the “Model” child of the controller creates children for the different components.
No Controllers? – Important fix for Unity 5.6 and SteamVR
Update: this is fixed and not needed as of SteamVR 1.2.2, this fix is no-longer needed. Upgrade to 1.2.2 and skip this section! 🙂
If you’re using unity 5.6 and the current version of the SteamVR plugin, you’ll notice that the controllers don’t actually turn on.
Until the SteamVR plugin is updated, you’ll need to implement this quick fix to get the controllers updating properly.
Select the Camera (eye)
Add the “SteamVR Update Poses” Component to it.
And done.. Now the controllers will track again
Replacing the Controllers
One of the questions I get quite often is “how do I replace the controllers with a [sword/gun/hand/random other thing]?”
As you may already expect, you can simply add the thing you’d like to replace the controller with as a child of the “Controller (right)” or “Controller (left)” GameObjects.
For this example, we’ll replace the controller with a shotgun (like I did in the Zombie shooter game)
First, I drag the shotgun model under the “Controller (right)” GameObject
This ‘works’, but there’s a bit of a problem. While the shotgun will move around with the controller, it won’t be aligned correctly.
Now there are a variety of ways you can fix this, but the simplest one and the one I recommend you use is to make a new GameObject for the Shotgun and have the model be a child of it.
With the “Controller (right)” GameObject selected, click GameObject->Create Empty Child
You should see this
Rename the new “GameObject” to “Shotgun”
Move the “Shotgun” model (in my case named DBS) to be a child to the “Shotgun” GameObject
Fixing alignment and position
Press play and go to your Scene view.
Because we can’t see the controller without hitting play, these changes must be done in Play mode, follow along to see how to keep those changes once you’ve left play mode.
In the Scene view, adjust your weapon model to be aligned with the controller how you want it to be (some guns for example hold at a different angle than the shotgun pictured below)
While still playing, look to the Inspector to copy the transform values
Stop playing, the gun will reset.
Now go back to the model for the gun (child of “Shotgun” in this example) and use the Paste Component Values menu option.
When you play again, your gun (or other object) should be properly aligned and move with your controller.
Once it looks right, disable the “Model” child of the “Controller (right)” GameObject.
You can delete it, but disabling it gives the same effect and allows you to easily re-enable it if you decide to make adjustments to your handheld items.
That’s all you need to get started! You should be able to look around, place objects where your hands are, and get to building stuff!
Serious about VR?
Start Today!
A downloadable tool
This tool is a script manager to help maintain your C# scripts, with this tool you can work as follows:
Keep a single location for all your C# scripts (server) and download into your current Unity project (local) directly from the server location, also the ability to push any local changes in your Unity project scripts back to the original location (server).
So why do this? Like many people creating many small Unity projects you generally build up a collection of scripts that you always rely on. Copy and pasting scripts from one project I found myself editing tweaking and fixing bugs in my scripts, then copying those changed versions back into my collection outside of the Unity project or even sometimes forgetting. My manager streamlines this process with a few benefits.
- Easy to download new scripts or download latest server versions to replace the local Unity project version.
- Upload local script changes over the older server version.
It all works by simply checking the date modified of both the server and the current local projects version, nothing fancy, this is not a full fledged backup replacement, more an ease of use tool to help keep a folder of scripts up to date.
How to setup:
In order for this script to work you need to copy into your Unity project the Tool_ScriptManager.cs , once copied in you should have a new menu item in the main toolbar. To get started open the 'Tools/Script Manager' menu item, from there you will be asked where in the current Unity project you would like to place the local files. I use ://UnityProject /Assets/Scripts/KubeDev
Once you've decided on your local folder you will be asked where you would like to pull from (server location) , again I use a folder in c://Documents/User/Scripts
If all goes well a new text file will be made in the project and the Script Manager window will appear and be populated with scripts from both your local and server space.
How to use:
Once the above step has been done (once) , and the text file 'ScriptManagerPath.txt' exists the Script Manager will open a window of your scripts and the operations allowed.
Short description of what the buttons do:
'Local' button will allow you to change where the local folder points to.
'Server' button will allow you to change where the server folder points to.
'Folder Name' will open a Folder window to that script location (prefers server location over local if both exist).
'X' button will remove that script from the Unity project.
'√' button shows everything is fine, clicking will redownload from the server.
'V' button shows local version is behind, clicking will replace the local script with the server version.
'A' button shows the server missing this script, clicking the button will copy this new script to the server location.
'A!' button shows the server version is out of date, clicking the button will replace the server script with the local up to date version.
I hope this helps!
Status | In development |
Category | Tool |
Rating | |
Author | KubeDev |
Made with | Unity |
Tags | c, manager, scripts, tool, Unity |
Unity3d Download
Download
Unity 5.6.3p1
Click download now to get access to the following files:
Log in with itch.io to leave a comment.