<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Angela Rodriguez</title>
    <description>The latest articles on DEV Community by Angela Rodriguez (@angelarodriguezz).</description>
    <link>https://dev.to/angelarodriguezz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1120667%2F41082b97-b7c5-4977-b22f-c3dba96d7579.jpeg</url>
      <title>DEV Community: Angela Rodriguez</title>
      <link>https://dev.to/angelarodriguezz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/angelarodriguezz"/>
    <language>en</language>
    <item>
      <title>Dipping into Unreal Engine After Learning Unity - Part 1</title>
      <dc:creator>Angela Rodriguez</dc:creator>
      <pubDate>Tue, 13 Aug 2024 01:58:43 +0000</pubDate>
      <link>https://dev.to/angelarodriguezz/dipping-into-unreal-engine-after-learning-unity-part-1-15ge</link>
      <guid>https://dev.to/angelarodriguezz/dipping-into-unreal-engine-after-learning-unity-part-1-15ge</guid>
      <description>&lt;p&gt;I've recently decided to start my journey learning Unreal Engine in order to focus on making more 3D game-development projects. With previous projects largely focused on 2D games, I thought it would be best to share my thoughts of switching and learning about creating 3D worlds. As a disclaimer, I am without a doubt a beginner while learning this engine, so this serves less as a guide and more as a trial and error blog post. Now that we have that out of the way, let's start creating!&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Starting With the 3rd-Person Perspective Base Level&lt;/li&gt;
&lt;li&gt;Becoming Familiar with Unreal Engine's Material Creation System&lt;/li&gt;
&lt;li&gt;Adding Player Features &amp;amp; Physics&lt;/li&gt;
&lt;li&gt;Animations + Final Thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Starting With the 3rd-Person Perspective Base Level
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F594b6tdyho1abklbj5f4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F594b6tdyho1abklbj5f4.jpg" alt="Image description" width="800" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unreal Engine allows for its users to begin with a base world to start out. With this map, they already add a moveable character and 3rd-person camera perspective to move throughout the map. I thought this was pretty helpful so that I could examine the Blueprint interface and see how they handle movement for both the playable character and camera. &lt;/p&gt;

&lt;p&gt;In order to test out how to change the meshes and textures of different materials, I went to the Details panel and changed the Element Material Instance and likewise altered the colors of the grid lines and cubes through Unreal Engine's Blueprint Material Instance Graph. This was the part of the project where I was playing around with the engine more, but that's the fun of customization. I even went to Unreal Engine's store to add a tree and liven the map!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foalzokflyvqni17ool8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foalzokflyvqni17ool8g.png" alt="Image description" width="800" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Becoming Familiar with Unreal Engine's Material Creation System
&lt;/h1&gt;

&lt;p&gt;Now to get to the more complex parts. I thought it would be nice to start out with learning how to create materials and landscapes in the engine before beginning to program a base game level. That way later on, I could create a game of two levels where after succeeding in the first level, you get to traverse into the next one. &lt;/p&gt;

&lt;p&gt;To start, I migrated to Unreal's Quixel Bridge that offers many free 3D models and surface materials that make landscape creation much easier. Using this, I started messing with the material mesh UI to create different surfaces for when the landscape becomes rocky, sandy, or grassy.&lt;/p&gt;

&lt;p&gt;The sculpting and painting of surfaces using Unreal Engine was surprisingly very similar to Unity's handling of 3D landscapes as well. What was new to me was creating landscape instance functions and adding in material instances to make the blending of the surfaces more clean when sculpting your landscapes. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmugy0q24iifq0npslu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmugy0q24iifq0npslu.png" alt="Image description" width="800" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After messing with the Landscape Mode, I added a body of water through Unreal's Water plugins, made some more edits to the shape of the map, and sculpted the landscape some more.&lt;/p&gt;

&lt;p&gt;Plus, I added trees because... why not?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3ygb3toz8r36laxwhi1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3ygb3toz8r36laxwhi1.png" alt="Image description" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So now we have a landmass with a body of water, a forest, plants, and some rocks and we need to have some level of action that occurs here. &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Adding Player Features &amp;amp; Physics
&lt;/h1&gt;

&lt;p&gt;There's this asset in the Unreal Engine store and it seems we could make an interesting mini-game where you listen to a golem in a post-apocalyptic world, enter these spaces while searching for an item, and return it back to the golem, allowing it to remember parts of its past.&lt;/p&gt;

&lt;p&gt;Since this is my first time working with character animations in 3D, I downloaded from the large assortment of meshes in Sketchfab and found a great skin to use for this project. While the skin I downloaded already carried a rig, I wanted to try out the AccuRIG system so it would be smoother to download character animations from their system later on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ssxscgy0obwi4xboxfi.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ssxscgy0obwi4xboxfi.gif" alt="Image description" width="600" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afterwards, we have to add our character mesh into Unreal Engine and make sure to replace the default mesh into our newly rigged character. However, you can notice that when the new character is added, the player will not be walking and actually be moving in a T-pose. We need to make a few more adjustments in order to actually have it move within our environment.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Animations + Final Thoughts
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6co71r31kpmru4y1yjw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6co71r31kpmru4y1yjw.png" alt="Image description" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add the animations, I installed a few from the Mixamo store that takes your rigged character and allows you to pick from their library of animations. I picked a few that focused on idle, walking, running, and jumping animations and then created an animation controller. This allowed for the smoothness between the movement of the animations which focused on speed and checking if the character is falling or otherwise.&lt;/p&gt;

&lt;p&gt;And here is the result as of now!:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0hce7v8bwnd5543uu35.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0hce7v8bwnd5543uu35.gif" alt="Image description" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For now, I will end the blog post here to not make this too long. What I've seen is just how powerful and versatile Unreal Engine is for making realistic games and makes it that much more accessible to both beginners and experts alike. This short mini-exploration of the engine was fun and I plan to spend more time on learning more game mechanics to add to the project so that I can learn more on what this engine has to offer. Thanks for reading and see you on the next part!&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>unrealengine</category>
      <category>learning</category>
      <category>visualscripting</category>
    </item>
    <item>
      <title>Creating a Multi-Level Visual Novel in Unity: Rat in the Trap - Dialogue System</title>
      <dc:creator>Angela Rodriguez</dc:creator>
      <pubDate>Wed, 08 Nov 2023 01:20:24 +0000</pubDate>
      <link>https://dev.to/angelarodriguezz/creating-a-multi-level-visual-novel-in-unity-rat-in-the-trap-dialogue-system-52kh</link>
      <guid>https://dev.to/angelarodriguezz/creating-a-multi-level-visual-novel-in-unity-rat-in-the-trap-dialogue-system-52kh</guid>
      <description>&lt;p&gt;After several weeks of development and several more weeks of bug fixes, my 2D survival-horror visual novel is fully completed! As a multi-part overview blog of the sections that I completed for my game, I will be reviewing each essential aspect that was both challenging and rewarding to learn in the Unity Engine.&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Organizing Story Scenes&lt;/li&gt;
&lt;li&gt;Building the Different Story Scenes Together&lt;/li&gt;
&lt;li&gt;Challenges Faced&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Organizing Story Scenes
&lt;/h1&gt;

&lt;p&gt;In the creation of this dialogue system, since I had originally created such a system previously in my first game jam project, &lt;a href="https://viviennelin.itch.io/remnants-of-us"&gt;Remnants of Us&lt;/a&gt;, I implemented a similar format.&lt;/p&gt;

&lt;p&gt;In this project, both my previous game and this project, I referenced &lt;strong&gt;AD works&lt;/strong&gt; immensely helpful visual novel tutorial in order to construct the base of my dialogue system.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/33XDR6E5W7g?start=1"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;First, we must clearly define the different objects for which the text is going to be displayed. These include the text, which will display our lines letter by letter, and the names of the characters who will be speaking. &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Building the Different Story Scenes Together
&lt;/h1&gt;

&lt;p&gt;One thing I found helpful and informative to learn in regards to the setup was the creation of an Asset Menu and Scriptable Object. This allowed for the manipulation of different variables within the code, including the different lines that each character will speak and the name of the character that is speaking. Originally, I believed that the collection of multiple different story line data together would be messy, but this assembles the different lines efficiently and makes each scene appear at perfect timing.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Challenges Faced
&lt;/h1&gt;

&lt;p&gt;Some challenges that occurred throughout the project were having the animations for each character occur within certain lines and moments within each scene. In order to account for this, there needed to be a new data structure added to the scene menu that would dictate the scene name. Additionally, in code, you would need to check the sentence index and when it would occur within the game.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Overall, this setup provided an excellent framework that would aid in the later mechanics I developed for the project. For instance, in the next part, I will discuss how I implemented the choice options that occur within the game. Thanks for reading!&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>unity3d</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>Making Your Unity Game Playable Without Download: The WebGL Way</title>
      <dc:creator>Angela Rodriguez</dc:creator>
      <pubDate>Fri, 01 Sep 2023 22:09:12 +0000</pubDate>
      <link>https://dev.to/angelarodriguezz/making-your-unity-game-playable-without-download-the-webgl-way-201g</link>
      <guid>https://dev.to/angelarodriguezz/making-your-unity-game-playable-without-download-the-webgl-way-201g</guid>
      <description>&lt;p&gt;After making my first game, the only thing I focused on was publishing it on itch.io and calling it a day. However, one barrier that I didn't acknowledge at the time was the sluggish nature of some gamers. Let me explain. &lt;/p&gt;

&lt;p&gt;When heading to the itch.io page, not many people want to go ahead and download an actual game. It has become a sort of unmentioned bad impression on playtesters if your game is not HTML5 compatible.&lt;/p&gt;

&lt;p&gt;Well today, before publishing to itch.io, I came across an issue building my WebGL project and thought to review some of the common problems that occur when publishing your WebGL build. &lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;The Difference Between WebGL Build vs. Windows Build&lt;/li&gt;
&lt;li&gt;Unity's Build Settings&lt;/li&gt;
&lt;li&gt;Web Browser Features&lt;/li&gt;
&lt;li&gt;Further Resources &amp;amp; Settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The Difference Between WebGL Build vs. Windows Build
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcztdgwyxkqomqk8chhf8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcztdgwyxkqomqk8chhf8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From my knowledge, the WebGL platform is the way for your game to be cross-platform and playable without needing to go the extra mile of downloading the game. The game is embedded within the web browser, so you can play your game right on your web server! There are many hurdles of figuring out if your game is formatted the correct way during game development, and WebGL is a platform to render your game the same way across all platforms.&lt;/p&gt;

&lt;p&gt;In more professional terms, WebGL is a JavaScript API used to render any 3D or 2D game without download right on your web browser. The JavaScript code and shader code is oftentimes pre-written within the engine you use. In my case, I will be focusing more on how Unity WebGL works and some small fixes that I made which makes it easier for you to test your own WebGL build.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Unity's Build Settings
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Texture Compression:&lt;/strong&gt; the range of techniques for reducing the memory output of your textures by removing excess and removable data.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you head to File &amp;gt; Build Settings &amp;gt; Player Settings, you will find the field of settings that mainly handles texture compression format for your WebGL build. Should you come across an error I found when running my game, this section will be very helpful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexg2uxa63o7s9oisi94d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexg2uxa63o7s9oisi94d.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Texture compression in WebGL is the way to create builds for several platforms while keeping the texture compression that the devices can support in mind. Since each desktop and mobile device will have different texture compression formats, there can be a conflict. However, we want to use compressed textures on all platforms, so we need to support each device's supported texture compression format. Therefore, to run on all devices and their compressed textures, we must target a Compression Format which is most appropriate. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Compression Format:&lt;/strong&gt; Determines how Unity compresses files during the build step.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Unity by default sets their Compression Format to "gzip." This is due to Gzip files being faster to build and natively supported by all browsers over HTTP and HTTPS. However, Gzip files are comparatively bigger than Brotli files, which is the next Compression method you can use.  &lt;/p&gt;

&lt;p&gt;Brotli compression offers the best compression ratios and smaller compressed files compared to its alternative gzip. However, the build times are often longer to compress, which increases wait times when releasing your final build.&lt;/p&gt;

&lt;p&gt;Lastly, you can choose neither. Having Disabled compression is targeted for developers who are building their own compression through scripts. This option is not recommended if you are not using static compression on your server and typically is the cause for errors and long waiting times for build downloads.&lt;/p&gt;

&lt;p&gt;Texture compression is necessary due to the limited amount of space, memory, and time that each of our devices have. Since textures take such large binary files that impact game performance, we want to limit this as much as possible and this is where compression comes in. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fake27lem6gcvfkyx99nk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fake27lem6gcvfkyx99nk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Decompression Fallback:&lt;/strong&gt; Determines how Unity processes downloaded files when the build runs in the browser.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This option in Player Settings &amp;gt; Publishing Settings enables Unity to automatically embed your JavaScript decompressor into the build. The decompressor coincides with the compression method that you decide from before. Otherwise, the decompressor decompresses the content automatically if the browser doesn't.&lt;/p&gt;

&lt;p&gt;If enabled, Unity adds the &lt;em&gt;.unityweb&lt;/em&gt; extension to your build files. This is helpful if you don't know much about server configuration or if it is unavailable. Despite this, enabling this feature causes a larger loader size and is less efficient.&lt;/p&gt;

&lt;p&gt;This is why Unity typically leaves this feature disabled by default. Due to this, your build files will include an extension corresponding to your compression method. &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Web Browser Features
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmutidw82hacab0ol9h7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmutidw82hacab0ol9h7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sometimes when playing your game on your web browser, frame rates can be incomparably slow to your Game View playthrough. One reason can of course be due to any game feature you have taking a long time to process. Any issue related to game features can be viewed from your Profiler window within Unity.&lt;/p&gt;

&lt;p&gt;However, another fix can be going to your web browser's settings. If you go to your system settings, you may find a feature called "Use hardware acceleration when available." This feature allows any application to have hardware performing tasks more efficiently than exclusively through your CPU. This exchanges your tasks that are handled in your CPU to other areas such as GPUs, DSPs, and sound cards. &lt;/p&gt;

&lt;p&gt;From this feature, game performance becomes more smooth. However, if slow performance, freezing, or crashing persists, you should keep it disabled.&lt;/p&gt;

&lt;p&gt;That is essentially the main features to look for when building games in Unity. It can be daunting, but I hope this helps in some way for Unity developers building a WebGL game. Thanks for reading!&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Further Resources &amp;amp; References
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.unity3d.com/Manual/webgl-deploying.html#:~:text=Compression%20Format&amp;amp;text=Brotli%20compression%20offers%20the%20best,support%20Brotli%20compression%20over%20HTTPS." rel="noopener noreferrer"&gt;Unity WebGL Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.unity3d.com/Manual/webgl-texture-compression.html" rel="noopener noreferrer"&gt;Texture Compression in WebGL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.techarthub.com/an-introduction-to-texture-compression-in-unity/" rel="noopener noreferrer"&gt;An Introduction to Texture Compression in Unity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.makeuseof.com/what-is-hardware-acceleration/#:~:text=Unless%20you're%20facing%20an,for%20that%20one%20specific%20app." rel="noopener noreferrer"&gt;Hardware Acceleration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Some further configuration you can implement is within your own web browser. In order for browsers to decompress any Unity build file when downloading, you must alter your web server to serve the compressed files within the targeted HTTP headers. In other words, this process is called &lt;em&gt;&lt;strong&gt;native browser decompression.&lt;/strong&gt;&lt;/em&gt; Since it is faster than any JavaScript decompression fallback, this is oftentimes a more effective way of reducing your application's startup time. Since the process is very complex, I will leave the link &lt;a href="https://docs.unity3d.com/Manual/webgl-server-configuration-code-samples.html" rel="noopener noreferrer"&gt;here&lt;/a&gt; for further reading.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webgl</category>
      <category>gamedev</category>
      <category>javascript</category>
      <category>unity3d</category>
    </item>
    <item>
      <title>Developing My First Portfolio Website: From Wix to Github Pages</title>
      <dc:creator>Angela Rodriguez</dc:creator>
      <pubDate>Sat, 26 Aug 2023 00:25:28 +0000</pubDate>
      <link>https://dev.to/angelarodriguezz/developing-my-first-portfolio-website-from-wix-to-github-pages-1c2h</link>
      <guid>https://dev.to/angelarodriguezz/developing-my-first-portfolio-website-from-wix-to-github-pages-1c2h</guid>
      <description>&lt;p&gt;In middle school, before deciding I wanted to learn programming, the furthest I had explored on web development was (wait for it) Wix. The only reason why I knew of how to make a basic website without stack tools was because my 8th grade science teacher asked for one for my final project before winter break. When adding each image, each text, and embedded each link, I truly thought I was a genius for taking up "web development" so quickly.&lt;/p&gt;

&lt;p&gt;Flash forward to today, as I am making the attempt to traverse further into webdev, I was immediately intimidated by each complexity of the features that I so easily placed on Wix beforehand. After almost attempting the journey that is learning CSS and Javascript for creating a portfolio website, I was advised to give Github Pages a try. After spending weeks previously creating an appealing README file on Github, I wanted to go ahead and give it a go.&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;PART 1: Picking a Template&lt;/li&gt;
&lt;li&gt;PART 2: Adding Edits to the Code&lt;/li&gt;
&lt;li&gt;PART 3: Uploading to Github Pages&lt;/li&gt;
&lt;li&gt;PART 4: Connecting a Personal Domain to Website&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  PART 1: Picking a Template
&lt;/h1&gt;

&lt;p&gt;There are several great website templates that you can choose from - I chose from &lt;a href="https://html5up.net/" rel="noopener noreferrer"&gt;HTML5 Up!&lt;/a&gt; It appeared to be a great bridge between visuals, usability, and an educational introduction to the HTML, CSS, and JavaScript languages. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz26tcniu9lcyf76eq914.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz26tcniu9lcyf76eq914.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depending on the website template that you use, the starting process could be different. For me, I downloaded the zipped file from the template &lt;a href="https://html5up.net/dopetrope" rel="noopener noreferrer"&gt;"Dopetrope."&lt;/a&gt; I highly recommend looking through all of their templates as they are affordable and understandable. &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  PART 2: Adding Edits to the Code
&lt;/h1&gt;

&lt;p&gt;Here is where things got interesting. I saw a big blob of code and began reviewing it. Hear me out-something I never thought I would be excited by is altering some HTML and CSS code and figuring out how each style document in CSS supplemented the a live site. &lt;/p&gt;

&lt;p&gt;There were several items I specifically wanted to get done and it was first to make this website have the same theme as my previous Wix portfolio page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzvau0jryeabgf5xrq0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzvau0jryeabgf5xrq0h.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Believe it or not, the banner was the hardest part of the project, but I think it ended up looking nice with the site. Afterwards, many edits was focused on adding blog and about me pages, changing the colors in the CSS doc, and figuring out what to put for the favicon of the portfolio (one of the highlights of my time creating the site). One tip I recommend: remove the .html part of the href when referring to a page on your site. It took me a while to figure out it stays on your extension haha.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  PART 3: Uploading to Github Pages
&lt;/h1&gt;

&lt;p&gt;Now that the trickiest part is over, we can go ahead and upload to Github. When naming your repo, you must use username.github.io or reponame.github.io in order for github to create the website. Next is uploading the files.&lt;/p&gt;

&lt;p&gt;The way I chose is through your terminal by connecting to the remote repository and pushing to your main branch. The alternative is by uploading them straight into your repo. If you choose this route, &lt;strong&gt;make sure to have all your html files in the root directory&lt;/strong&gt;. This removes any issues of Github attempting to read your files and hosting the website.&lt;/p&gt;

&lt;p&gt;For many people, this is the last step of the process. If you got this far, WHOOHOO! You officially have a website! For perfectionists like me, you want to officially name your website without the github.io extension at the end. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbdleqjowogjr5z7fvok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbdleqjowogjr5z7fvok.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  PART 4: Connecting a Personal Domain to Website
&lt;/h1&gt;

&lt;p&gt;Depending on what you want out of your site, you can have a .com, .net, or even .dev which each have their own respective costs of approximately $10 annually. Since I only wish to use this site for my portfolio work, a .me really personalizes the site. I used NameCheap for purchasing the domain, so they carried their own tutorial for connecting your domain to Github which I will link &lt;a href="https://www.namecheap.com/support/knowledgebase/article.aspx/9645/2208/how-do-i-link-my-domain-to-github-pages/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9gfc2m4id27xxl3dkkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9gfc2m4id27xxl3dkkr.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afterwards, go into your repo's settings and click on the &lt;strong&gt;Pages&lt;/strong&gt; subheader. You can then add your domain into the &lt;strong&gt;&lt;em&gt;custom domain&lt;/em&gt;&lt;/strong&gt; subsection and wait for the DNS check and certification process to complete (approximately 30-60 min). Then after that you can finally enforce HTTPS and have your fully personalized website created!&lt;/p&gt;

&lt;p&gt;Congratulations for making it this far! I was thinking of completing this project for the past two months, but finally got around it.&lt;/p&gt;

&lt;p&gt;There are still some updates I wish to make on the site including APIs for Github projects that automatically update with the site along with a DEV.to API for blogs. However, for now I am satisfied with my progress and will leave that for a later blog post.&lt;/p&gt;

&lt;p&gt;Thanks for reading this far and make sure to look at the finished website I created here: &lt;a href="https://www.angelarodriguezz.me/" rel="noopener noreferrer"&gt;https://www.angelarodriguezz.me/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>github</category>
    </item>
  </channel>
</rss>
