` instead UI drag & drop:
+-
+-
+
+Reasons not to do it:
+-
+-
+
+## 1| Reasoning: Source control diffs
+
+## 2| Confidence: Harder to break
+
+Two points to explain.
+
+First:
+Serialized data is harder to refactor than an interface definition. For example, using `UnityEvents` to reference an object may silently break. But calling a method on an interface will refactor easier.
+
+Second:
+Fiddling with the Project Settings can make or break a build, especially when building as an embedded view into an existing iOS/Android app.
+
+## 3| Explain: Comments
+
+God, I miss this feature so much! Unity is a complex beast, and unchecking a harmless checkbox can break all your animations without warning! I'd wish for some way to write down why this checkbox MUST REMAIN CHECKED in all circumstances.
+
+> Is there any app whoose graphical user interface that can do this? Hit me up in the comments if you know one!
+
+## 4| Conditionally: Automate setting the settings
+
+- Write a script that sets build settings depending on your mode (debug or release)
+- Also allows you to lock settings across projects
+ Regain control of variables that unity, or a plugin, might set without your consent! (Looking at you, preloaded assets!)
+
+## 4| Conditionally: Generate Assets at Compile Time
+- Write a script that replaces your android configuration depending on your build mode
+
diff --git a/_posts/2023-10-25-making-unity-a-decent-employee-3.md b/_posts/2023-10-25-making-unity-a-decent-employee-3.md
new file mode 100644
index 0000000..177a70e
--- /dev/null
+++ b/_posts/2023-10-25-making-unity-a-decent-employee-3.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title: "The Unity Engine is your worst coworker - Here's strategy #3 to improve it"
+date: 2023-10-25 10:30:00
+categories: unity
+tags: unity, csharp, workflow, testing, reliability
+# image: /assets/article_images/unity/worst-colleague.png
+author_name: Johannes Vollmer
+author_link: /authors/johannes-vollmer
+author_image: /assets/images/authors/johannes-vollmer/thumbnail.jpg
+published: false
+# target publish date: december
+---
+[jeff story]
+
+### WTjeFf?!
+
+You take a deep breath. Isn't that wonderful. What a bold move, Jeff.
+
+Think about it for a second: If your human colleague was doing what Unity does, you'd [REDACTED].
+
+Let's shift perspectives: What would you have done in Jeff's position?
+
+
+
+## What could have been
+
+
+# Why so series
+This blog post is part of a series: Making Unity a decent employee. Well, at least a little less horrible, I admit.
+
+These posts are largely independent. However, you should go read the [introduction here] if you haven't done that yet, and then come back. Otherwise, you might be thinking "wtf, why are we doing all of this again?" when reading the wonderfully ridiculous code sections later in this post.
+
+> Disclaimer: I'm working in a rather unconventional project environment. For example, we embed a Unity View into an existing Android/iOS App. That's because we at [SWCode](https://swcode.io) build an app that uses AR, called [SoesTour](https://www.so-ist-soest.de/de/tourismus/sehenswertes/soestour.php). The app aims to revive historical sites that long vanished, by digitally showing them at their exact locations in the real world. Due to this complicated setup, I had to touch with some nasty Unity bits that most people might not have to touch. I want this article to be generally applicable, so don't worry about it. It might be fun either way!
+
+Here's where we are at:
+
+The Four Strategies
+-------------------
+
+
+
+# III. Smoothen the overall workflow (the one you might have expected)
+
+## Automate clicking the clickies
+
+- Hook test execution into the build process.
+ This allows you to simply add a simple Editor Tests to add another build-check.
+
+## Seriously, let me press ONE button and then give me twenty minutes to pet my cat ... UHHHH work on something else.
+
+- Writing a build script that runs all of your tasks
+
+## Postconditions and Caches
+
+Another chance to fix Unity. Sometimes, after running Play Tests, Unity doesn't care to cleanup the temporary scene file it writes to your HDD, each time you run the tests. This script automatically deletes those.
+
+
+
+
+
+
+
+
+
diff --git a/_posts/2023-10-25-making-unity-a-decent-employee-4.md b/_posts/2023-10-25-making-unity-a-decent-employee-4.md
new file mode 100644
index 0000000..983b750
--- /dev/null
+++ b/_posts/2023-10-25-making-unity-a-decent-employee-4.md
@@ -0,0 +1,74 @@
+---
+layout: post
+title: "The Unity Engine is your worst coworker - Here's strategy #4 to improve it"
+date: 2023-10-25 10:30:00
+categories: unity
+tags: unity, csharp, workflow, testing, reliability
+# image: /assets/article_images/unity/worst-colleague.png
+author_name: Johannes Vollmer
+author_link: /authors/johannes-vollmer
+author_image: /assets/images/authors/johannes-vollmer/thumbnail.jpg
+published: false
+# target publish date: december
+---
+
+It's a cloudy monday morning. Your jeans are soaked from the rain on the way to the office. There's only a sip of cold coffee left in your mug as you are leaving your desk with your presentation notes.
+
+Your heart is pounding, as you open the door to the meeting room, knowing that a dozen of people sit there, waiting.
+Jeff, the coworker you teamed up with, nods and smiles, reassuring that everything is prepared. Everyone's staring at you.
+
+"So, this is the fantastic game Jeff and I worked on", you say nervously.
+"Jeff, could you please put it on the Screen?"
+
+Jeff goes "Alright!" and plugs his Laptop in. Everyone sees the cat trying to eat cotton candy, his desktop background.
+"Jeff could you please open the Game?" What is he waiting for?
+
+"No, I cannot open the Game", Jeff explains calmly, "the attachment in your mail last week was corrupted, so of course I don't have it. I didn't want to get in your way."
+
+### WTjeFf?!
+
+You take a deep breath. Isn't that wonderful. What a bold move, Jeff.
+
+Think about it for a second: If your human colleague was doing what Unity does, you'd dig up their dead pet cat called Pumpkins, and leave the stiff body on their bed while they're sleeping. Well, at least I would.
+
+![image of pumpkins the cat. if you are reading this instead of seeing the image: he was cute, trust me. not in this picture though. this is a picture of the exhumined cat.]()
+
+Let's shift perspectives: What would you have done in Jeff's position?
+
+
+
+## What could have been
+
+# Why so series
+This blog post is part of a series: Making Unity a decent employee. Well, at least a little less horrible, I admit.
+
+These posts are largely independent. However, you should go read the [introduction here] if you haven't done that yet, and then come back. Otherwise, you might be thinking "wtf, why are we doing all of this again?" when reading the wonderfully ridiculous code sections later in this post.
+
+> Disclaimer: I'm working in a rather unconventional project environment. For example, we embed a Unity View into an existing Android/iOS App. That's because we at [SWCode](https://swcode.io) build an app that uses AR, called [SoesTour](https://www.so-ist-soest.de/de/tourismus/sehenswertes/soestour.php). The app aims to revive historical sites that long vanished, by digitally showing them at their exact locations in the real world. Due to this complicated setup, I had to touch with some nasty Unity bits that most people might not have to touch. I want this article to be generally applicable, so don't worry about it. It might be fun either way!
+
+Here's where we are at:
+
+The Four Strategies
+-------------------
+
+
+
+# IV. Perform rigorous checks at build time (the banger! also black magic)
+
+## Check code
+
+## Check settings
+
+## Check asset data
+
+
+Problem: Script/Object/Prefab Missing
+I just wish I had a robot that would take care of such repetitive tedium for me[.](https://eev.ee/blog/2016/12/01/lets-stop-copying-c/)
+
+
+
+
+
+
+
+
diff --git a/assets/article_images/unity/make-our-own.jpg b/assets/article_images/unity/make-our-own.jpg
new file mode 100644
index 0000000..21815eb
Binary files /dev/null and b/assets/article_images/unity/make-our-own.jpg differ
diff --git a/assets/article_images/unity/wat 2.jpg b/assets/article_images/unity/wat 2.jpg
new file mode 100644
index 0000000..c10b7c2
Binary files /dev/null and b/assets/article_images/unity/wat 2.jpg differ
diff --git a/assets/article_images/unity/wat.jpg b/assets/article_images/unity/wat.jpg
new file mode 100644
index 0000000..16aa8f0
Binary files /dev/null and b/assets/article_images/unity/wat.jpg differ
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy