Assuming that I am writing a game engine based on unity3d, can I make it without distributing source code? For example, distributing it as a .class or .dll file which is compiled from pure java or c# code.
The Unity source is not provided (at least not with the standard licence) and so you can’t really create a new engine based on the original product.