Very cool, but seems like a bizarre choice to use C# and then lock in to Apple’s stuff. If you’re making a 3D app with C# you might as well use Unity. Something like this could even find an audience on Steam.
Edit: of course it can be great to use what you are comfortable with. Done (and really, really good, is better than perfect.
The way he is using property definitions with SetUndoableProperty seems like a really good fit for Swift’s property wrappers. Instead of writing getter and setters for every property you could just write them in once in the property wrapper definition and then annotate each property with @Undoable.
To be clear, C# is a great language for this project. It’s the choice of using a platform specific library (SceneKit) that baffles me.