AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

Juggling helpful bytes.

MouseByTheSea,
@MouseByTheSea@mastodon.gamedev.place avatar

@AngryAnt Very nice!

I cannot help thinking that Unity should just release the source.

Unity wouldn't be a bad fit for this hobby game idea I'm percolating at the moment, but the lack of source and getting stuck with unsolvable problems makes me nervous.

AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

@MouseByTheSea I’m still unconvinced that a further source release would actually meet the wants of those calling for it.

Unlike examples of engines with available source, Unity implements a lot of middleware - none of which it could ofc. release source for. A release like that might not even build.

They have however continued to move parts of the engine from C/++ to C# and the C# they do regularly make available for reference, lightly commented.

AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

@MouseByTheSea So when I build a patch like the above I first rummage through their reference source to locate where I want to operate and then load the assemblies up in ILSpy to pinpoint my edit points.

MouseByTheSea,
@MouseByTheSea@mastodon.gamedev.place avatar

@AngryAnt They could include said middleware as binary libs?

Unless the engine source is a big % of middleware, in which case there won't be much gain.

My resource for preferring "source open" is partly since I can debug down the stack to better understand what the engine is doing, and partly to know I can patch something nasty if I need too (with all the risk and caveats patching an engine entails of course).

Lachee,

@AngryAnt wait what are you showing off here? are you injecting new code into the editor?

AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

@Lachee Exactly. We do some processing of user code assemblies. For playmode we used to just run this on enter, but at some point Unity started occasionally throwing fits when we changed assemblies at unexpected times like that.

Today I finally got around to finding a better spot in the Unity pipeline to run that process, which is at the end of the function shown here :)

We try to keep patches to the editor minimal (making them simple to move around on updates), so it's just a delegate invoke.

Lachee,

@AngryAnt omg that is awesome! I have been trying to find information on this process as i want to inject some code at compile time myself (to add fun things like elvis support to unity objects lol) but been struggling on resources.

AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

@Lachee We use Mono Cecil at the base of it all, but most of the work is in little things like this - working out injection points and good patterns.

The plan is to share that tooling, but there are still a good amount of “works on our machines” in-house-tool cruft to clear out before it makes sense to publish. Hopefully it’s not too long now.

AngryAnt,
@AngryAnt@mastodon.gamedev.place avatar

@Lachee Obv. also documentation, but IIRC we’re generally up to date with that.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • gamedev
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • megavids
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • provamag3
  • JUstTest
  • All magazines