Thursday, March 01, 2018
Thursday, February 22, 2018
A unique ID for your Serialized classes in Unity.
Note, the GetHashCode() method will probably return a unique ID. There is a very remote chance you will get a clashing ID.
Update:After further experiments, I believe this does not work well enough to be generally useful. Unity, we need a new serialization system!
Wednesday, February 21, 2018
Synthesizing Sound Effects in Unity3D.
I have built a Synthesizer for creating sound effects in Unity. It fills a similar niche to SFXR/BFXR, but aims to have more quality and versatility. It's fully modular, with all parameters able to be modulated via the Unity AnimationCurve.
I have called it 'Fizzle'.
Source coming soon.
I have called it 'Fizzle'.
Source coming soon.
Wednesday, February 14, 2018
Supercharged Gizmos for your SceneView
This code shows how I use the [DrawGizmo] attribute to create special gizmos for my components, which only appear when you're actually near the component.
Tuesday, February 13, 2018
Thursday, February 08, 2018
Monday, February 05, 2018
Visual Tools for Gameplay Design in Unity
I've put some of my gamedev tools for Unity on Github.
Uniextensions, some common sense extensions to Unity.
React, a visual logic and behaviour tree designer.
Univent, a UnityEvent-like set of gadgets for zero-code gameplay construction.
Wednesday, January 03, 2018
Allocations in the Unity Editor when using GetComponent.
If you call gameObject.GetComponent, and there is no Collider on that gameObject, null is returned, but you will also see a memory allocation in the Unity profiler.
Why?
The call is actually returning a "fake null" object, so that when you try and use it a custom error message is displayed. This custom error message causes the allocation.
This behaviour is disabled in a build, so you will only ever see it in the editor.
Why?
The call is actually returning a "fake null" object, so that when you try and use it a custom error message is displayed. This custom error message causes the allocation.
This behaviour is disabled in a build, so you will only ever see it in the editor.
Subscribe to:
Posts (Atom)
Popular Posts
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
When you start working with threads in your Unity3D project, you will discover that many things need to be done in the main loop. For exampl...
-
Thank to Adrian Boeing I was inspired this morning to hack together a ripple shader for Unity3D. Thanks for the math Adrian. You can see t...
-
Possibly slightly more correct lighting. The rim light is now only applied in the direction of the sun, rather than being purely based on v...
-
import csv open("output.tsv", "w").write("\n".join("\t".join(e.strip() for e in i) for i in csv.rea...
-
I've just seen and used a brilliant ssh option. The command: sudo ssh -D localport user@externalhost will set up a local SOCKS proxy l...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
Working with multiple threads is often a necessary evil. This is how I do it safely inside a Unity3D component. There are only certain time...
-
As promised, here is my code for creating a uniform set of points on a sphere. using UnityEngine ; using System . Collections . Generic ;...
