Hey, Just downloaded the engine a few days ago from Github and have been playing around with it for a Lil while now.
And I have a few Opinions on the engine I thought I should share. I'll probably expand on this list as I use the engine.
Keep in mind Everything I say here is most likely biased in some way, I have 10+ years with tools like Unreal and Unity, So I may be biased towards those engines.
I also only have a few days of experience on the engine and could be completely wrong about some things.
Components
The first thing is what exactly is a Component.
A Component by Definition is a part of a larger Whole, but in NeoAxis it seems a Component is a Whole. Engines like Unity have GameObjects and Unreal has Actors both those have Components on them, This way the GameObject and Actors themselves don't do anything, and the Components on the GameObject/Actor build it into something.
But in NeoAxis there is no GameObject/Actor, only Components.
For example, If I want to make a Player I might want a Mesh component, a Controller component, and an animation component. But where do I put those? In Unity, I create a new empty GameObject and put those on it, Same with unreal.
But in NeoAxis there doesn't appear to be any clear order, I can create a Controller Component and put a mesh component on it, or vice versa. There's no clear Structure to objects. If the Controller Component is under a Mesh, is it controlling the Mesh Vertices, or the Mesh position, And if the Mesh is under a Controller, Now what's the controller moving? More things to learn and understand making the engine overall harder to get into.
Components and Components In Space
Why is there a Separation? Why do some Components have a location in space but others don't? Why don't all components just have locations? And why can we sometimes move Components but other times cant with no clear indication as to why?
If I make a Controller, then place a Mesh on it, I cant then move the Mesh under the Controller, but I can still move the Controller. This is kinda baffling to me, What if I wanna add Two or Three unique meshes and position them accordingly relative to the Controller? Shouldn't all components have a Position and Rotation? If there's no such thing as a GameObject/Actor then you may want to give all Components a location in space. When there's a Rigidbody Component on an Object, They both have an ObjectInSpace, yet only one the Root can be moved.
So Essentially:
Unreal/Unity:
Create Object object has a position in the world, Object then has Components on it that make it do things.
If an Object has another object as a Child to it, then that Child object moves with the Parent object, but it also has a Position and its own Components.
NeoAxis:
Place a component, it may or may not have a position in the world, You cannot add components To another component but you can add them as Children, however, what component defines the position varies, and objects even if they are a child don't move relative to their parents
This is quite Confusing especially for new people coming in, Every other tool I know of off the top of my head uses an Object with Components on it and Objects always have a world position.
- Creating Objects
This needs work, It's really overly complicated I haven't even successfully created a Box yet. Outside Dragging it from the Resources window. This I think links back to the Object in Space and Component issue, it's so hard to know how something should be structured and how to make things work. If I Right-click in the world, Go to New-Object/Primitives/Box, it doesn't spawn a Box, it spawns a MeshGeometry_Box? I don't know what to do with that.
Also sometimes when I go to create something this "New Object" Window pops up, I cannot figure out how to use it or what it really does. 90% of the time the Path stuff is all Greyed out which just adds to the confusion, what is this window asking from me? a Filename? Then why all the other UI stuff. Why can I half the time set a path, do I have to Type out the path, is the File Tree selecting What I want to create? If so why can't I change it still? Its such a confusing window, to me at least.
This is not me Hating on the engine, just some of my Opinions and Thoughts on the engine.
I'm actually still pretty excited to Delve into this engine more, there aren't many Open Sources .net Engines and none that are 64bit that im aware of.