{"id":550,"date":"2018-10-12T22:51:23","date_gmt":"2018-10-13T03:51:23","guid":{"rendered":"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/?p=550"},"modified":"2018-10-14T16:35:48","modified_gmt":"2018-10-14T21:35:48","slug":"unity-as-a-tool-to-deploy-multi-platform-applications","status":"publish","type":"post","link":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/2018\/10\/12\/unity-as-a-tool-to-deploy-multi-platform-applications\/","title":{"rendered":"Unity, as a tool to develop multi-platform applications"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-551 size-large\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Crossplatform-development-1024x465.png\" alt=\"\" width=\"640\" height=\"291\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Crossplatform-development-1024x465.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Crossplatform-development-300x136.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Crossplatform-development-768x349.png 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<h3><strong>Introduction<\/strong><\/h3>\n<p>Unity, initially released as a game engine\u00a0development software back in 2005 exclusively for Mac OS-X. It was popular and famous for creating games, but over the recent years, Unity has delivered other possibilities in other areas , such as web, VR and mobile development. In this blog post, Ill be discussing what Unity can do in terms of deploying multi-platform applications.<\/p>\n<h3><strong>Overview<\/strong><\/h3>\n<p>Unity is a cross-platform game engine launched in 2005 to build 2D and 3D games. Unity as an IDE, not only allows user to edit and script the game, but also allows the user to play while making the game, meaning that you can test and adjust the specs of the games from the players perspective. Another key feature about Unity, is that Unity supports cross-platform development, including nearly all mainstream platforms like Mobile, Console, Desktop PC, Web, and so much more. \u00a0Some successful cross platform application that is developed in Unity include games like\u00a0HearthStone,\u00a0Monument valley and\u00a0Temple run.<\/p>\n<h3><strong>What do you need?<\/strong><\/h3>\n<p>Unity license personal account for free and it could be downloaded at\u00a0<a href=\"http:\/\/unity3d.com\">unity3d.com<\/a> . Latest version is recommended but if you are looking for\u00a0staying on a stable version for an extended period, you could also download historical versions at\u00a0<a href=\"http:\/\/unity3d.com\/get-unity\/download\/archive\">unity3d.com\/get-unity\/download\/archive<\/a> .<\/p>\n<p>Supporting libraries could be downloaded along with Unity package, including iOS, android, PC, Mac, and Web supporting packages. \u00a0This packages will help the user to successfully deploy their apps to their desired platform.\u00a0External supporting software like OpenVR will enable VR features.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-556 size-large\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.03.14-PM-1-1024x755.png\" alt=\"\" width=\"640\" height=\"472\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.03.14-PM-1-1024x755.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.03.14-PM-1-300x221.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.03.14-PM-1-768x567.png 768w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.03.14-PM-1.png 1182w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<h3><strong>How to Unity?<\/strong><\/h3>\n<p>This is a standard view with all the essential tools. \u00a0PS: The flowing instructions are screenshot for 3D build environment, 2D build is also similar to this, but with 2D plane View.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-558 size-large alignleft\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-1-1024x599.png\" alt=\"\" width=\"640\" height=\"374\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-1-1024x599.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-1-300x175.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-1-768x449.png 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Unity consists a standard 3D view that ensembles the complete 3D environment, including all the <strong>Object<\/strong>, lighting, camera, and terrain.<\/p>\n<p>The 3D view, is called\u00a0<strong>Scene\u00a0<\/strong>in unity. Users are able to rotate, zoom, and shift to see the environment.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-559\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-2-1024x437.png\" alt=\"\" width=\"640\" height=\"273\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-2-1024x437.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-2-300x128.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-2-768x328.png 768w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-2.png 2007w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p><strong>Hierarchy\u00a0<\/strong>shows what is inside the\u00a0<strong>Scene.<\/strong>\u00a0 A scene, by default, consist a main camera and a directional light, a cube is added for DEMO purposes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-563 size-full\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM-1.png\" alt=\"\" width=\"669\" height=\"229\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM-1.png 669w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM-1-300x103.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/p>\n<p><strong>Game<\/strong>\u00a0displays what the main camera is seeing.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-561 size-large\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-4-1024x385.png\" alt=\"\" width=\"640\" height=\"241\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-4-1024x385.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-4-300x113.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.25.14-PM-4-768x289.png 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p><strong>Project\u00a0<\/strong>window shows what is inside the project directory.\u00a0<strong>Scenes\u00a0<\/strong>and\u00a0<strong>Objects\u00a0<\/strong>are all referred as\u00a0<strong>Assets<\/strong>, and they are being stored within the project folder as Unity <strong>Assets<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-562 size-full\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM.png\" alt=\"\" width=\"526\" height=\"255\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM.png 526w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-2.49.13-PM-300x145.png 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/p>\n<p><strong>Inspector<\/strong>, handles the detail aspect of\u00a0<strong>Assets<\/strong>, including the settings for\u00a0<strong>Scenes\u00a0<\/strong>and\u00a0<strong>Objects<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-564\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.00.19-PM.png\" alt=\"\" width=\"400\" height=\"435\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.00.19-PM.png 778w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.00.19-PM-276x300.png 276w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.00.19-PM-768x835.png 768w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Inspector \u00a0<\/strong>is the manager for components of an object, from backend to frontend. It\u00a0is super powerful in terms of manipulating an object. Basic manipulation, or <strong>C<\/strong><strong>omponent<\/strong> are included by default such as transform(position, rotation and size), mesh(refers to the 3D shape), mesh renderer(whether if the object is been rendered at play, implies that if the object is visible or not), and collider(detect if the object is in contact with other object).<\/p>\n<p>Other <strong>Component<\/strong> could be added by design. An object could be associated with audio clip, particle effect, customized mesh, rigid-body and customized <strong>S<\/strong><strong>cript<\/strong> written in C# or JS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-565 size-medium\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.21.17-PM-221x300.png\" alt=\"\" width=\"221\" height=\"300\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.21.17-PM-221x300.png 221w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-3.21.17-PM.png 530w\" sizes=\"auto, (max-width: 221px) 100vw, 221px\" \/><\/p>\n<p>Unity allows users to run<strong> C#<\/strong>\u00a0<strong>Script\u00a0<\/strong>on the gaming <strong>O<\/strong><strong>bject<\/strong>. You can attach script simply by dragging the script from\u00a0<strong>Project\u00a0<\/strong>window on to the\u00a0<strong>Object<\/strong> in the scene. I&#8217;ll be doing a quick demo to show how you can rotate an object using <strong>C# script<\/strong>.<\/p>\n<p><strong>C#\u00a0<\/strong> is a programming language designed by Microsoft in 2000 and is it very similar to Java, since they are both strong typing, object oriented language. A Unity generated <strong>C# Script <\/strong>consist its class name and\u00a0two\u00a0methods. Start(), which will run before play, Update(), which will run once per frame.<\/p>\n<blockquote><p>&nbsp;<\/p>\n<p><span style=\"font-family: Menlo\"><span style=\"color: #009695\">using<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">System<\/span><span style=\"color: #222222\">.<\/span><span style=\"color: #222222\">Collections<\/span><span style=\"color: #222222\">;<\/span><br \/>\n<span style=\"color: #009695\">using<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">System<\/span><span style=\"color: #222222\">.<\/span><span style=\"color: #222222\">Collections<\/span><span style=\"color: #222222\">.<\/span><span style=\"color: #222222\">Generic<\/span><span style=\"color: #222222\">;<\/span><br \/>\n<span style=\"color: #009695\">using<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">UnityEngine<\/span><span style=\"color: #222222\">;<\/span><\/span><\/p>\n<p><span style=\"color: #009695\">public<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #009695\">class<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #3363a4\">rotate<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">:<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #3363a4\">MonoBehaviour<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">{<\/span><\/p>\n<p><span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #888a85\">\/\/\u00a0Use\u00a0this\u00a0for\u00a0initialization<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #009695\">void<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">Start<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">()<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">{<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #222222\">}<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #888a85\">\/\/\u00a0Update\u00a0is\u00a0called\u00a0once\u00a0per\u00a0frame<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #009695\">void<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">Update<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">()<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">{<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #222222\">}<\/span><br \/>\n<span style=\"color: #222222\">}<\/span><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>In this case, if i want my cube to rotate constantly, I would want to update its transformation frame by frame. Thus, I&#8217;ll code for Update().<\/p>\n<blockquote><p><span style=\"font-family: Menlo\"> <span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #009695\">void<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">Update<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">()<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">{<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #222222\">transform<\/span><span style=\"color: #222222\">.<\/span><span style=\"color: #222222\">Rotate<\/span><span style=\"color: #222222\">(<\/span><span style=\"color: #009695\">new<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #3363a4\">Vector3<\/span><span style=\"color: #222222\">(<\/span><span style=\"color: #db7100\">15<\/span><span style=\"color: #222222\">,<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #db7100\">30<\/span><span style=\"color: #222222\">,<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #db7100\">45<\/span><span style=\"color: #222222\">)<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #222222\">*<\/span><span style=\"color: #222222\">\u00a0<\/span><span style=\"color: #3363a4\">Time<\/span><span style=\"color: #222222\">.<\/span><span style=\"color: #222222\">deltaTime<\/span><span style=\"color: #222222\">);<\/span><br \/>\n<span style=\"color: #222222\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #222222\">}<\/span><\/span><\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-566 size-full\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Oct-14-2018-16-25-35.gif\" alt=\"\" width=\"342\" height=\"342\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Now my square is rotating!!!!<\/p>\n<p>If you are willing to learn more about Unity in depth, I recommend\u00a0<a href=\"https:\/\/unity3d.com\/learn\">unity3d.com\/learn<\/a>\u00a0for official <strong>tutorial<\/strong> and <strong>documentations<\/strong>.<\/p>\n<p>Another cool feature about Unity is that is has a built in\u00a0<strong>Assets Store.\u00a0<\/strong>As previously discussed, assets include <strong>scene<\/strong> and <strong>object<\/strong>, they are the major component of Unity applications. Some programmers and artists publish their prewritten\u00a0<strong>Assets<\/strong> in the\u00a0<strong>Assets Store,<\/strong> that allows Unity users to work with pre-written component. It is using external libraries in coding.<\/p>\n<h3><strong>Assets Store\u00a0<\/strong><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-568 size-large\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-4.47.18-PM-1024x561.png\" alt=\"\" width=\"640\" height=\"351\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-4.47.18-PM-1024x561.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-4.47.18-PM-300x164.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-4.47.18-PM-768x421.png 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>For example, I want to work with VR. So, I found a utility\u00a0toolkit for developing\u00a0for developing VR experiences in Unity,<strong>\u00a0VIVE\u00a0Input Utility. <\/strong>This is assets provide official scripts from HTC,\u00a0including basic input such as pick, grab, throw and teleport.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-569\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/17f2e7a9-c11c-41c6-9269-249fd817409f.jpg\" alt=\"\" width=\"516\" height=\"389\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/17f2e7a9-c11c-41c6-9269-249fd817409f.jpg 516w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/17f2e7a9-c11c-41c6-9269-249fd817409f-300x226.jpg 300w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><\/p>\n<p>All of the <strong>assets<\/strong> downloaded from the <strong>assets store<\/strong> is imported into <strong>project<\/strong> folder and are able to be applied in the project.<\/p>\n<p>&nbsp;<\/p>\n<h3>Collaboration<\/h3>\n<p>Unity project supports build in collaboration supports, via unity&#8217;s own cloud service.<\/p>\n<p>Unity project is also git friendly, that the complete project could be pushed to a git repo and enables collaboration. <strong>GitHub for Unity<\/strong> is also a easy to use plugin that enables fluid Unity-GitHub workflow.<\/p>\n<h3><strong>Deployment<\/strong><\/h3>\n<p>Deploying apps is super simple in Unity. Unity support nearly all main steam platforms, including Mobile, VR\/AR, Desktop, Console and Web.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-570 size-large\" src=\"http:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-5.11.55-PM-1024x967.png\" alt=\"\" width=\"640\" height=\"604\" srcset=\"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-5.11.55-PM-1024x967.png 1024w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-5.11.55-PM-300x283.png 300w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-5.11.55-PM-768x725.png 768w, https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Screen-Shot-2018-10-14-at-5.11.55-PM.png 1258w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>By correctly configuring the user input for different platforms, one unity script could be <strong>build and run<\/strong> on all these platforms.<\/p>\n<p>Cross-platform IDE is giving developers an advantage, that the developers doesn&#8217;t need to build their apps using separate tools. Saved a lot of time and resources.<\/p>\n<p>&nbsp;<\/p>\n<h3>Conclusion<\/h3>\n<p>In this blog post, I covered a basic run through of Unity, including the major features,\u00a0<strong>Scene,\u00a0Hierarchy, Game, Inspector,\u00a0Assets, and C#\u00a0Scripts ;\u00a0<\/strong>\u00a0as well as how to use external libraries, or call it <strong>A<\/strong><strong>sset Store,\u00a0<\/strong>and at the end, showed how to build the apps that is made in Unity. \u00a0Unity is indeed a super powerful and versatile tool that enables developers to be productive and creative at the same time. Unity has delivered a lot of possibilities in gaming industries, but it also shows potentials in other fields.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Unity, initially released as a game engine\u00a0development software back in 2005 exclusively for Mac OS-X. It was popular and famous for creating games, but over the recent years, Unity has delivered other possibilities in other areas , such as web, VR and mobile development. In this blog post, Ill be discussing what Unity can&#8230;<\/p>\n","protected":false},"author":199,"featured_media":551,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_featured_media_url":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-content\/uploads\/sites\/89\/2018\/10\/Crossplatform-development.png","_links":{"self":[{"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/posts\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":4,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":823,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/posts\/550\/revisions\/823"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/media\/551"}],"wp:attachment":[{"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/categories?post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.cs.vt.edu\/ccs2018f\/wp-json\/wp\/v2\/tags?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}