I am trying to decide between this and Panda3D. So far I am leaning toward Urho3D. However, I am growing more convinced I will need to rewrite part of the engine so that it will work with my project (I would need to do the same with Panda). I have a few basic questions about object access.
The basic problem with this engine when it comes to my project is security. I know this may sound a bit strange for a graphics engine meant to be used for gaming but my project is not a game and there is an important collection of use cases where objects in a scene and in the UI must be kept secure from arbitrary script access.
Since scripts are giving access to the engine, I am guessing there is a way to gain access to most Urho3D objects (such as scene nodes and UI elements) through scripting. So here are my questions:
- Is this true?
- How does a script gain access to objects? Is there a hash table of object names?
- If so… where in the code does this table exist? (I have found several tables so far but all are of object attributes, types, categories, factories, etc… I have not not found the table for the objects themselves)
My guess is that my project will need to provide or modify the underlying object management layer so that any script that should not have access to an object will get a null pointer/object if the object requires a higher security level than the script (or the application detects that security has been compromised). My last two questions are: does this sound feasible? If not, can scripting be disabled entirely? (Perhaps build a version without scripting included?)