Today’s the big day!
I went to Best Buy this morning and bought an HDMI splitter. It works.

I’m grateful my parents are as excited about this show as I am. My mom’s been helping me promote (something I really need to put more effort into) and my dad has been helping me tackle setup obstacles ahead of time. I told him about how I wasn’t able to use the painter’s tape to hold up the projector screen, and so last night, we went and found some flat thumbtacks in the house to use as a backup. The museum doesn’t want me sticking anything in the walls, but thumbtacks are tiny, and I can always hide them underneath some painters tape (as a last resort).
Anyways, my dad correctly assumed my taping technique was incorrect. Just now, we taped the projector screen to the wall and got it to hold by using long pieces of tape running parallel to the top edge.
Unfortunately, the projection screen was wrinkled with wrinkles from shipping folded. I just figured it was the cost of not having a better screen, but my dad suggested we try and fix it by ironing it. I vaguely remember fucking up a projector screen with heat a few years ago when I went to Imagine Or Festival and so I decided to double check on YouTube. I found this video where ironing is NOT recommended, after perusing the comments, I learned that placing the screen in the dryer with a damp cloth works wonders for removing wrinkles. That’s when my memory fully clicked—I destroyed that last projection screen in a dryer by running it on too high a heat setting. Since I have two screens, one grey and one white, I decided to retest the technique on the lowest heat setting using my grey screen. I’ll know if this is worth doing to the white screen in about 30 minutes.
In the meantime, I wanted to do some last minute cleanup. I know I claimed a code freeze at the end of last night’s entry, but what I didn’t write about was about how the particles were lagging on my laptop when I finished writing and decided to test my build.
I didn’t notice any lag today when I tested running the build with my HDMI splitter, but I want to be extra safe. Therefore I disabled my Subpixel Anti-Aliasing block in the VFX Graph.
What else did I do? Got carried away and knocked out the todo by making the particle trail distorters gradually disappear when the hand gets too close to the sphere. I realized that the two situations where I wanted to hide the trail distorters actually mostly overlapped.
- Hide when hand is inside the sphere (distance from hand to body is less than sphere’s radius)
- Hide when hand is barely outside the sphere (distance from hand to body is less than sphere’s radius +
minDistance)
Therefore, I was able to build this logic into the VFX graph relatively easily.

As for the lag, I really don’t want it to pop up again, but I also don’t know what else I can do, short of disabling some visual amenities such as the trail distorters I just improved, the secondary attractor (which creates the vacuum draw in effect on hand close), and the box collider I added last night.
If push comes to shove, I’ll disable the secondary attractor first, and then the trail distorters. So much for this laptop’s 4080 card. Not all 4080s are build equally, it seems.
I pulled the grey projector screen out of the dryer and while the wrinkles are mostly gone, I did notice some dark spotting show up in a few areas.

Still, I’d rather have a bit of dark spotting than wrinkles so I just threw my white sheet in the dryer with a smaller towel and no dryer sheet (just in case either of those caused the spots).
I gently rolled the grey screen up into a long cylinder to minimize new wrinkles and then curved the cylinder into a spiral for easy transport.
I just checked my laptop’s specs and its display has a refresh rate of 240 Hz. Sheesh! 🔥Can’t have that slowing my game down though—I just capped it at 60.
I tested the scene without my secondary attractor enabled and everything still runs fine, so I know I can go that route if need be. Disabling it isn’t baked into the runtime settings yet though, so I’d need to rebuild the Unity project if I detect lag. I want to avoid any code changes today (editing the VFX graph doesn’t technically break my code freeze) so I’ll just add this to my todos.
Taking an extended look at my secondary attractor paid off because I just discovered and fixed a subtle bug where the position of the secondary attractor wasn’t getting set correctly. I don’t notice a difference visually (like I said, subtle bug), but the logic was definitely wrong!
Considering the fact that lag is now my enemy and both the fixes I made today have had minimal effect on the overall visual experience, I think that going forward my focus should be on optimization rather than adding in more features. Just a thought. Or I could buy a better laptop :P
I just couldn’t sit still knowing my game might lag and so I baked options into my runtime settings menu to disable secondary attractors and trail distorters across all VFX graphs in the scene. The beautiful thing is that I was able to do all of this manually by hand in less than 5 minutes. I tested and it works too! I feel so much more comfortable fixing code on the fly when I’m the one doing it, not my LLM. Now, without further ado, it’s time to CODE FREEZE and make myself look presentable. Show starts in less than 3 hours!
Tags: vfx ar optimization performance unity presentation projection