Jason Booth Profile
Jason Booth

@slipster216

Followers
3,660
Following
267
Media
112
Statuses
4,499

Engineer, designer, artist and musician in the game industry for 25+ years. 52 assets on the Unity Asset Store. Ex-Turbine/Harmonix/etc, currently at Meta

Amherst, MA
Joined June 2015
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@slipster216
Jason Booth
2 years
Why Unity's tools are never production ready, the thread. Using the new Spline system as an example:
30
153
1K
@slipster216
Jason Booth
5 months
A lot of coders don't seem to know the difference between "writing performant code" and "optimization". They complain that performance makes code messy, etc - but that's optimization. Performant code tends to be very ordered and easy to read. It does logical transforms of data,
21
107
807
@slipster216
Jason Booth
11 months
Wanted: Game Engine not run by assholes where there's an active asset marketplace. Must support hand written shaders and extensive tool scripting.
26
49
665
@slipster216
Jason Booth
11 months
Some developers now owe Unity more money than they've made on their games, mutliple years back. Is this change even legal?
9
22
442
@slipster216
Jason Booth
11 months
Tweet media one
4
82
442
@slipster216
Jason Booth
10 months
Unity: "We need more money!?" Users: "Will this go to make the engine better?" Unity: "No, chasing film and tv, we don't give a crap about games anymore" User : "Can you at least fix this 6 year old bug we keep telling you about?" Unity: No.
7
26
396
@slipster216
Jason Booth
4 years
#Unity3d has decided, in their efforts to make graphics programs lives even more difficult, to close down the public repository for the SRPs. At this point, I won't be surprised if they stop letting you write custom shaders, and require a special dongle that shocks you if you try
30
58
398
@slipster216
Jason Booth
1 year
SRP year 7: 60% of new Unity Projects on BiRP, 15% on HDRP, 25% on URP. (Official numbers, btw) That means for the average unity users the engine hasn't improved in 7 years. The new Water/Sky system only available to 15% of users. Integrated VFX graph for 40% of users. All
40
59
358
@slipster216
Jason Booth
7 months
Thoughts on Unity layoffs (and the general layoffs happening in the industry). 1/ 1. Money got expensive. For years, companies could borrow money nearly for free, and this fueled massive expansion. That is no longer the case, hense a contraction.
13
35
354
@slipster216
Jason Booth
4 years
@hannaesthetic Rock Band wasn't supposed to ship for ps2/wii. 3 months before ship the execs changed their mind. They cut it down to almost nothing, and I said "Lets just render out video of the XBox360 version and run a live track over it instead", and that's what we shipped.
8
41
284
@slipster216
Jason Booth
2 years
Unity Spline Team asks me to submit bugs- Submits bug, including code fix to the spline code. Unity QA: Can you provide a repro project, video, and spend hours proving that the bug Unity's engineers asked you to submit is real?
21
18
261
@slipster216
Jason Booth
3 years
@richgel999 Bring joy to millions of people or sending a billionaire to space. Think I’ll go with joy.
6
2
251
@slipster216
Jason Booth
9 months
They fixed it. Everything is fixed now.
@unity
Unity
9 months
📣 Introducing Unity 6, the next major release of #Unity . We’re bringing back the clarity of our original release naming in one powerful, polished version. Unity 6 will be our next Long Term Support version, coming in 2024 🧵 (1/5) #Unite2023
Tweet media one
249
938
4K
13
4
227
@slipster216
Jason Booth
6 months
@Artedeingenio The difference is people don't claim they created/own that content, as if it took some kind of talent to create, then wine about other people steeling it from them.
2
3
226
@slipster216
Jason Booth
2 years
being massively undercut by bad management practices which move people around too much and erode the confidence of users.
2
3
223
@slipster216
Jason Booth
2 years
Splines 2.0 is out - in Unity 2021.2's beta cycle. Unity has said the team who wrote it is being moved to other areas, and splines will not see any major updates from here. This means that they are moving the team off splines before any real productions have used it, as it's not
6
3
181
@slipster216
Jason Booth
2 years
the tools are even released to the general user base. They need the concept of ownership and continuous improvement to be a thing, instead of the abandonware concept they currently use for everything. The basic spline feature has a ton of promise, but it's usefulness is
1
5
182
@slipster216
Jason Booth
2 years
another project already. Did anyone test SplineData<T> with multiple splines? Likely not, or they just ignored all these issues. Is this production ready? Hell no it isn't. The problem with Unity is that they abandon things before they are ready, and in this case, before
8
5
161
@slipster216
Jason Booth
3 years
Stalling GPUs, more shader optimization blogging.
3
27
163
@slipster216
Jason Booth
4 years
MicroSplat - Trax, coming soon.
6
19
161
@slipster216
Jason Booth
11 months
Here's the thing, long term, after unity doubles down on this and forces it through, they will make more money. But not enough to right the ship, as they'll cut deals with the largest studios, etc, and this won't generate enough to make up the gap. 1/
7
16
153
@slipster216
Jason Booth
3 years
Every Christmas, without fail, I end up having to write one of these:
Tweet media one
9
7
144
@slipster216
Jason Booth
3 years
Final one for tonight, on how Better Shaders works and why I created it.
1
26
141
@slipster216
Jason Booth
3 years
Shut up about the metaverse already. MMO's in 1999 are closer to the metaverse than 99% of what people are talking about as being the metaverse these days. You're just making an another app.
6
15
138
@slipster216
Jason Booth
2 years
even been in an LTS release yet, only beta and alpha versions of Unity. Overall, it's a decent spline system, but as you dig into it, you realize how much of it wasn't really tested. For instance, let's start with the SplineContainter class. It has a "Spline" property that gets
2
0
137
@slipster216
Jason Booth
11 months
As long as Unity thinks it's fine to retroactively change the licensing agreement on past games, which they appear to not be rolling back on, they don't get it. Being able to predict cost is key, and you can't do that with shady business partners like Unity is being.
2
12
133
@slipster216
Jason Booth
11 months
If any of the newer engines out there want a bad ass toolset for editing terrain and are willing to pay for the work, I'm looking to port.
6
14
127
@slipster216
Jason Booth
11 months
This news might be easier to swallow if anyone had confidence in the Unity engine team. They've fucked up so bad over the last five years that the idea that we need to pay them more is absurd, especially since the engine team is such a small part of the company.
3
10
129
@slipster216
Jason Booth
11 months
Expect 2022LTS support to be pretty terrible.
13
4
129
@slipster216
Jason Booth
10 months
So nice of the graphics team at unity to break all the shaders in 2022.10LTS then backport the breakage to 2021.3LTS. #SRPLife #ClearlyLTSMeansNothing
10
9
127
@slipster216
Jason Booth
11 months
Any dev who gets this bill should sue and require them to prove the numbers, because they can't, because they're using AI to make them up.
6
8
125
@slipster216
Jason Booth
3 years
Anyone know why Unity puts a facebook file next to every asset in the project? Even folders! Been doing it for years!
6
9
122
@slipster216
Jason Booth
11 months
For those moving from Unity, check out @FlaxEngine - It's got some install bumps, but will feel very at home to Unity users. It's not FOSS, but it's got source, takes PRs, C#, a more modern renderer and framework than Unity BiRP. Obviously not as mature, but less bagage too.
15
12
118
@slipster216
Jason Booth
4 years
I shit on Unity a lot, for good reasons, but Burst/Jobs are pretty fantastic. Regularly see 100x or more increases in speed by moving code to these systems.
7
9
117
@slipster216
Jason Booth
10 months
It's very important for everyone in this industry to start creating competition for Unity, be that FOSS, Commercial, whatever. They are too dominant and will try to pull shit like this again. This is not the first time they have tried to sneakily change the TOS retroactively.
7
8
112
@slipster216
Jason Booth
11 months
What I don't get is why not just do a revshare- it's simple, people understand the model. What's the benefit to "installs"? Drive people to use our services to wave the fee? Could be done with a revshare too.
15
2
115
@slipster216
Jason Booth
1 year
bad but because blindly using it because Unity says "it's good for lots of objects" doesn't mean it actually fits your use case. The engine is now splintered, broken, misunderstood by its users, and the users misunderstood by its engine team. Everything takes 3x as long, and
1
5
117
@slipster216
Jason Booth
2 years
the actual spline data. But it also has a Splines property, which gets a list of splines. So we can have multiple splines in a container. But if we allow multiple, why have a single accessor for just the first one? Clearly multiple splines was added later.
3
0
110
@slipster216
Jason Booth
9 months
Unite notes: 1. Unclear if new naming means different release schedule. Already using undocumented versioning macros, hope they don't just #define UNITY6 and break everyting/let us reverse engineer it again. (1/)
4
5
102
@slipster216
Jason Booth
3 years
Is unbelievable how bad #Unity3d has royally fucked up their engine over the last few years. Like I get software development can go through some rough moments, but this is impressively terrible.
9
23
96
@slipster216
Jason Booth
11 months
If there's one thing Unity is good at, it's shooting itself in the head. Impressive cluster fuck of backlash dipshits.
4
5
98
@slipster216
Jason Booth
1 year
Trying to determine when a compute shader is faster than a fragment shader for filling buffers. I would expect the test case to be very similar, but fragment is 10-15x faster and I don't understand why. The test case is to fill a 512x512 texture with procedural noise. 1/
16
6
96
@slipster216
Jason Booth
2 years
Well, you can, but SplineData<T> stores is data as 'keyframes' based on the knots of the spline. So if you delete a knot from the associated spline, all the data moves to new positions along that spline. WTF? Will Unity fix any of this? Doubtful, they're moving the team to
1
0
95
@slipster216
Jason Booth
2 years
So the only way to do it is to reference them by index. So Splines[0] -> SplineData[0], etc. But now if a user deletes the first spline in the container, the SplineData jumps from one spline to a difference one. Oh btw, none of the editor controls for SplineData work with
2
0
94
@slipster216
Jason Booth
9 months
You know what's the most fun? Getting something working, then having to reimpliment it for URP2021, URP2022, URP2023, HDRP2021, HDRP2022, HDRP2023.. Why debug once when you can write and debug 7 times?
12
1
94
@slipster216
Jason Booth
7 months
2. The ad market changed drastically, which is where Unity makes most of their money. 3. Unity extended into way too many areas. This was obvious from the outside and especially in retrospect, but is a pretty classic 'by design' mistake to make.
1
1
91
@slipster216
Jason Booth
10 months
I keep trying to use chatGTP to write code. In months, it's yet to give me a single correct answer. I keep seeing videos for text prompts where you can say "Make me a game like X" and it just spits out a playable world, yet this thing can't write 5 lines of code correctly. 1/
25
2
92
@slipster216
Jason Booth
2 years
So lets take SplineData<T>, a class that allows you to associate custom data with a spline- Awesome! Except there is no way to associate the data with the spline, only the container. So great, lets white a little wrapper that associates the spline with the splineData<T>
1
0
89
@slipster216
Jason Booth
2 years
so that we can support multiple splines! Spline->SplineData<T>, effectively. Hmm, Spline is really just a List<BezierCurve>, so when it serializes, it serializes the list of bezier curves, not a reference to the spline. So we can't deserialize a reference to the spline.
2
0
88
@slipster216
Jason Booth
11 months
"The transaction closed on December 1, 2021 and under the terms of the agreement, Unity acquired Weta Digital's tools, pipeline, technology, and engineering talent for US$1.625B in a combination of cash and stock." Yeah, it's the runtime making you broke.. sure..
2
4
87
@slipster216
Jason Booth
7 months
4. All of these were encouraged by the company going public. Remember zynga buying every studio it could find before their IPO? Get big, tell a great story == high evaluation == great exit price for investors. 5. All of this creates a giant mess, which now has to be cleaned up.
1
4
89
@slipster216
Jason Booth
9 months
What I could unlock if I could just spent a day fixing Unity's terrible terrain API. It's just so bad, so inefficient, for no reason other than no one at Unity seems to care about fixing anything, ever. Clearly they've never tried to use this crap. 1/
6
6
89
@slipster216
Jason Booth
8 months
Working on indirect rendering. Reduced my buffers from 125mb to 12mb for 100k instances, which is a big win. Now considering packing matrix data, which would reduce to 3mb, but mean ~50 ALU to unpack in the vertex shader. Not sure if the extra bandwidth is worth that?
13
1
87
@slipster216
Jason Booth
5 months
instead of having a large 'mental model' of how the programmer wanted to think about and abstract things. Both types of code can be optimized- which is a process of modifying the code to get better performance. But here's the thing- software written without performance in mind
1
1
93
@slipster216
Jason Booth
3 years
2021 version of Better Shaders is out with support for URP12.x and HDRP12.x. Write once, run on 7 different render pipelines in Unity and ship the output as one shader that Just Works.
3
11
87
@slipster216
Jason Booth
3 years
@paulg @cmuratori Meanwhile in 1999 we released a continuous 3d world with thousands of players, physics, dynamic load balanced servers, that ran on a p75 in software (with each server farm being 7 quad core p133's handling thousands of players). Or, with more power, we could display a web page.
1
5
84
@slipster216
Jason Booth
5 months
is much harder and messier to optimize than code with performance in mind. The architecture fights you, the hacks you need to do to make it go fast are messier, and the gains far less. So when optimizing, things get very messy, very fast. By comparison, software designed with
1
2
93
@slipster216
Jason Booth
2 years
multiple splines, so you'll need to copy all that code and fix it. Joy. And note none of the examples support multiple splines either, so they're all pretty useless. Ok, so multiple splines is out. At least we have SplineData<T> and can tell users to just use a single spline!?
1
0
85
@slipster216
Jason Booth
8 months
The game industry is way bigger than hollywood, yet every year they have a bunch of actors with nothing to do with gaming instead of the people who actually make them at the game awards. There's plenty of people capable of doing that job in this industry.
5
5
87
@slipster216
Jason Booth
2 years
@l1x1v1a I disagree- I think the asset store thrives when you build a base to work off of- for instance, having one spline system which lots of assets can use makes them all work better together, and acts as a force multiplier for asset developers.
2
0
85
@slipster216
Jason Booth
7 months
6. Interm CEO = Hatchet man. As I said when the CEO change happened, his job is to set the new direction with the board and chop the company down before the new CEO comes in. Both CEO's did the job they were hired to do. JR to pump the stock and go public, Jim to do the reset.
1
3
83
@slipster216
Jason Booth
3 years
Just caught the GDC Unity keynote. Some good stuff in there; but it's interesting the contrast we see. Most of the games talk about replacing whole Unity systems with custom solutions. To me, this is the real strength of Unity- scriptability, fast editor creation, jobs/burst.
5
10
84
@slipster216
Jason Booth
2 years
Finally found a use for ChatGTP - writing and decoding regex expressions..
6
2
80
@slipster216
Jason Booth
11 months
Does it matter which installs are counted when the numbers are all just made up by AI anyway? They're basically saying they can bill you whatever you want, whenever they want, and change the rules at any time, retroactively. Shipping on Unity is a huge liability now.
0
6
80
@slipster216
Jason Booth
4 years
@FreyaHolmer has started the new "How it started, how's it going" for Unity Graphics coders, posting code running in all 3 render pipelines, so here's mine. One source file, works in all 3 pipelines automatically - #BetterShaders
Tweet media one
3
12
79
@slipster216
Jason Booth
1 year
for what gain to the average Unity user? How could 7000 man years of engineering time been spent instead?
4
1
80
@slipster216
Jason Booth
3 years
So fun to rewrite things in burst/jobs - quick port, 2.86ms -> 0.18ms.
3
4
79
@slipster216
Jason Booth
2 years
Like I realize there must be an extraordinary number of bugs from from people who just don't know what they are doing- but I'm at the point where submitting bugs to unity is too frustrating to bother with.
3
1
75
@slipster216
Jason Booth
1 year
of these were available via the asset store for years, so not really things we didn't have. Jobs/Burst are amazing, but most of the Unity APIs cannot take the results of them without data conversion. 1ms to generate the data, 12ms to deal with the API. Performance by default
3
1
76
@slipster216
Jason Booth
7 months
7. All of this was predictable when Unity decided to go public. They hoped they take over film, TV, etc, and it would have worked out better if that had happened- but it didn't, and that 'risk' still worked out fine for the investors, because that got baked into the IPO price.
1
3
75
@slipster216
Jason Booth
3 years
Unity added Surface Shaders to their roadmap. I wrote a doc on 7 questions that can be used to evaluate such a system, based on having written Better Shaders, shader graphs, and having used the old surface shader system extensively.
4
8
73
@slipster216
Jason Booth
1 year
I can generate a world made from hundreds of stamps, across 64 #unity3d terrains, texture it, populate it with tree's and vegetation, all in realtime. But sync'ing a SINGLE terrain height map back to Unity takes 38ms to update. What the heck is that call doing? 1/8
6
5
74
@slipster216
Jason Booth
5 months
system as a bunch of OO objects with virtual functions and each object randomly allocated in memory. Now write one that uses simple arrays instead of classes for each particle system. Now try to get the OO one to go as fast as the array one- you won't be abel to, but you'll go
1
0
77
@slipster216
Jason Booth
1 year
@glassbottommeg @AntonHand I mean it wouldn't be a unity system if it wasn't deprecated and replaced with a new package which isn't ready yet.
1
0
71
@slipster216
Jason Booth
7 months
13. The last 7 years of Unity have been rough and full of mistakes, and Unity has largely been devoid of caring about their users actual needs, rather driving the stcok story. The focus will now shift to who's paying them the most money, which (hint) isn't the indi-developers.
1
1
72
@slipster216
Jason Booth
3 years
The best thing about owning your own business and not being part of some large studio is being able to tell overly entitled problem customers to go fuck themselves. I will bend over backwards to help people, but fuck you if you think I intrinsically owe you my time.
5
0
70
@slipster216
Jason Booth
10 months
I don't think replacing JR is going to do much. Sure, he pissed a lot of people off, but legally he was doing his job- which is to make as much money for shareholders as possible. Anyone the board puts in there will be of the same camp, with the same goals and requirements.
9
2
68
@slipster216
Jason Booth
5 years
#unity3d Today I discontinued my stochastic node for the Unity shader graph. They've closed off the API so you can't write nodes without hacking the assemblies, and I'm just sick of dealing with them breaking things constantly. Use Amplify's Shader Editor, much better anyway.
8
10
69
@slipster216
Jason Booth
8 months
Unity updated terrain in 2022 to support terrain aligned detail objects (yay), however, they didn't update ComputeDetailInstanceTransforms to return that data, so if you actually want to use that data, you have to do the alignment yourself anyway. Classic Unity.
4
3
70
@slipster216
Jason Booth
5 months
performance in mind generally already runs much faster than when it's not, so you might not even have to optimize it. And if you do, those optimizations are often more straight forward and localized to a single data transformation. Don't believe it? Write a simple particle
1
2
73
@slipster216
Jason Booth
2 years
Working on 2022SRP adapters is just a reminder about how much Unity's graphics team says "Fuck you" to its users. Previously exposed functionality made private, no documentation on changes, as usual. Just tons of new reverse engineering.
6
7
67
@slipster216
Jason Booth
1 year
@zellah Some: - Documentation - Ease of Use - Familiarity - Doesn't break every few months - Doesn't require rewriting all of your shaders - Isn't missing a feature you need that BiRP has - Works with all your old content/shaders/etc - Is 'good enough' for what you need
1
0
67
@slipster216
Jason Booth
3 years
<Reading over c #8 new features> It seems to me language designers are obsessed with "expressiveness", as if writing code is the major bottleneck to solve. In fact, reading code is the bottleneck. You read code 100x times more than you write it.
4
2
65
@slipster216
Jason Booth
7 months
8. Going forward, the company will refocus on becoming a lot less interesting- sized to what makes a predictable profit for market investors. No more moon shots and crazy expansions. Overall, this will be a lot less chaotic for people who work there.
1
1
65
@slipster216
Jason Booth
11 months
Meanwhile, John and the execs responsible will collect large bonuses for the short term gains and exit, likely over the next 3 years. I'd be very surprised if he's still around in 5.
2
0
65