{"id":591,"date":"2026-05-15T16:41:31","date_gmt":"2026-05-15T16:41:31","guid":{"rendered":"https:\/\/sites.wsagames.com\/et4g23-yr3\/?p=591"},"modified":"2026-05-15T16:56:11","modified_gmt":"2026-05-15T16:56:11","slug":"creating-level-obstacles","status":"publish","type":"post","link":"https:\/\/sites.wsagames.com\/et4g23-yr3\/2026\/05\/15\/creating-level-obstacles\/","title":{"rendered":"Creating Level Obstacles"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Now that the levels had been planned, and the obstacles were designed, I had to actually create prefabs for them in Unity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Crumbling + Falling Platform<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This was the easiest as I already had the functionality for the disappearing (Crumbling) platform. All I had to do was create a new script that caused the platform to fall instead of disappear:<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/Platform-Particles-1.mp4\"><\/video><figcaption class=\"wp-element-caption\">This video was taken later in development after some asset implementation<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410c906&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410c906\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"395\" height=\"56\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-13.png\" alt=\"\" class=\"wp-image-603\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-13.png 395w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-13-300x43.png 300w\" sizes=\"(max-width: 395px) 100vw, 395px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">One-Way Platform<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not particularly an obstacle, but definitely a quality of life platform for the game. This was also relatively easy as Unity has a component for objects that only check for collision within certain directions, Which I used for this prefab:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"580\" height=\"235\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-4.png\" alt=\"\" class=\"wp-image-593\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-4.png 580w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-4-300x122.png 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><figcaption class=\"wp-element-caption\">This screenshot was taken later in development after some asset implementation<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410d66b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410d66b\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"394\" height=\"54\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-15.png\" alt=\"\" class=\"wp-image-606\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-15.png 394w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-15-300x41.png 300w\" sizes=\"(max-width: 394px) 100vw, 394px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Moving Platform\/Hazards<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These platforms weren&#8217;t too difficult to make, I simply added two references for two transforms that the object would move between, and two floats that I could alter in the inspector that would dictate how long it would take for the platform to move between these two points and how long it would wait at each point.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"216\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-5.png\" alt=\"\" class=\"wp-image-594\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-5.png 576w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-5-300x113.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><figcaption class=\"wp-element-caption\">This screenshot was taken later in development after some asset implementation<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Bounce Pads<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These were slightly more difficult to implement, as although the upwards bounce pad was easy (Simply adding an upwards vertical force to the player), the sideways bounce pads were much more complicated. As the player&#8217;s playercontroller script would overwrite any horizontal force\/velocity the sideways bounce pad would cause. Therefore I had to lock the player&#8217;s horizontal inputs for a short period of time for the bounce pads to work (Bounce Pad Timer):<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410db3a&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410db3a\" class=\"wp-block-image aligncenter size-full is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"174\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-7.png\" alt=\"\" class=\"wp-image-596\" style=\"width:264px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-7.png 376w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-7-300x139.png 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410e18a&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410e18a\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"378\" height=\"147\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-6.png\" alt=\"\" class=\"wp-image-595\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-6.png 378w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-6-300x117.png 300w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410e6ed&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410e6ed\" class=\"wp-block-image aligncenter size-full is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"701\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-8.png\" alt=\"\" class=\"wp-image-597\" style=\"width:381px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-8.png 669w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-8-286x300.png 286w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Sideways Bouncepad Script<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410ea0b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410ea0b\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"394\" height=\"54\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-14.png\" alt=\"\" class=\"wp-image-604\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-14.png 394w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-14-300x41.png 300w\" sizes=\"(max-width: 394px) 100vw, 394px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410ed09&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410ed09\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"52\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-16.png\" alt=\"\" class=\"wp-image-607\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-16.png 400w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-16-300x39.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Bubble Columns<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These were also a pain to create for a similar reason, the playercontroller script&#8217;s horizontal inputs would interfere with its functionality. Therefore I had to create an enum that would alter its functionality depending on what direction it was meant to effect the player (Launch Direction)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These bubble columns would turn on and off periodically (Active and Inactive time), to show this the script would change the alpha value of its sprite renderer (It was just a coloured rectangle at this point).<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410f0e6&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410f0e6\" class=\"wp-block-image aligncenter size-full is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"379\" height=\"408\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-10.png\" alt=\"\" class=\"wp-image-599\" style=\"width:499px;height:auto\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-10.png 379w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-10-279x300.png 279w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">This screenshot was taken later in development (Some values are blocked out to represent what the script looked like at this specific point)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Steam Columns<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Essentially the same thing as the bubble columns but much easier, instead of having to effect the player&#8217;s movement, all it did was kill the player. So I didn&#8217;t, have to worry about the scripts effecting each other for the steam columns.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Grapple Objects<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As far as the prefabs go this one way by far the easiest, because 99% of its functionality came from the playercontroller script and not this object itself. All I had to do was make sure it&#8217;s layer was set to grappleLayer so that the playercontroller could recognise it; and make sure it had a Collider 2D set to trigger:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aca0d410f508&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aca0d410f508\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"388\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-12.png\" alt=\"\" class=\"wp-image-601\" srcset=\"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-12.png 367w, https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-content\/uploads\/sites\/41\/2026\/05\/image-12-284x300.png 284w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Now that the levels had been planned, and the obstacles were designed, I had to actually create prefabs for them in Unity. Crumbling + Falling Platform This was the easiest as I already had the functionality for the disappearing (Crumbling) platform. All I had to do was create a new script that caused the platform [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"class_list":["post-591","post","type-post","status-publish","format-standard","hentry","category-sprint-1"],"_links":{"self":[{"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/posts\/591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/comments?post=591"}],"version-history":[{"count":3,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/posts\/591\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/posts\/591\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/media?parent=591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/categories?post=591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wsagames.com\/et4g23-yr3\/wp-json\/wp\/v2\/tags?post=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}