• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

UniqueID issue work-arounds?

Messages
134
Country
sweden
Hi there,

I notice I'm not the first to encounter the "UniqueID" issue where you get error codes at export when there are multiple objects with the same Babylon uniqueID. But I wonder if I'm the first where clicking the "Resolve UniqueID issues" button doesn't actually solve it?
The id's stay the same and I have to go into each object manually and change the values which has become a great headache for my projects, equally in time and that the fastest way to solve it seems to be to create a new object and attach all of them to that one which is not a great solution.

It doesn't seem to happen to all objects at first, but at some point the object can't be copied anymore without getting this issue. If I create a new object and copy that one then it works for a bit until I've done a few exports or saved the project (not sure really when it triggers?), but I can't get around it. You can of course untick the "ASOBO_UniqueID" box on export but then you get error codes at compiling instead, plus I assume the uniqueID thing is important?

Does anyone have a solution or a script or something that takes care of this when the "resolve.." button doesn't resolve it?

Uninstalled & reinstalled 3Ds Max, tried different versions even, and reinstalled SDK and the problem persists.

Anyone? I'll buy you a beer if you have a solution :)

Cheers,
Marcus
 
We used to manually set the GUID in older version of 3ds Max and it seems you need a more robust GUID generator than that provided with the Asobo plugin. I have no skill in this area, although I am pretty confident you could comprise a Maxscript to mimic your process of manually changing those values. GUID generators are fairly common, I use the one included with MCX.
 
Hi guys, I have spotlights inside my SimObject aircraft. When building the package, no matter what I change, whether it's the light name or unique id I get this:Node without Unique ID while using the unique_id extension, nodes[2628] : 'purplespot_OrientationHow do I overcome this?
 
Prior to export, a Babylon UniqueID is nothing more than a user-defined property for any object that is assigned one. But they are important because 1) the plugin will not allow you to export the model (as you've already seen) and 2) MSFS model merging requires all objects to have unique "UniqueIDs." If 2 or more models have any overlapping UniqueIDs, the merge operation will fail outright.

The "Resolve UniqueIDs" command really only does 2 things: If an object does not yet have this custom property assigned, the UniqueID takes on the object's name. This means that you should first make sure that your scene is free of duplicate object names. It then adds another user-defined property stating "Flightsim UniqueID Resolved = True" which prevents the tool from re-running the same operation on the object later. So if you were to rename an object after resolving and then try to resolve again, that object is now essentially invisible to the tool. This can get quite messy if you've renamed a large number of objects and ran the resolver script multiple times.

So, a quick and dirty way to "nuke" all of these parameters is by selecting all objects in your scene, right click -> object properties -> User Defined tab, then click somewhere in the empty text box and hit enter to insert a blank line. The main issue with this approach is that any other custom properties are obviously deleted as well, including the Babylon GUID which is referenced by the animation manager to associate objects with their animation groups, so all of your groups will be empty. (The worst part is that this operation can't be undone, so you'll have to revert to a previous save.)

If the number of objects being flagged on export is small enough, sometimes it's not too difficult to perform the above operation on those offending objects only. In rare cases, I've had persistent errors when an object is impossible to locate using the scene browser because the name given in the error message is not an object name, but the UniqueID itself. Therefore it may be required to select by user defined property, which luckily is possible using a pretty simple Maxscript function:

Code:
select (for obj in objects where getUserProp obj "flightsim_uniqueID" == "bad_object_name" collect obj)

My biggest tip: Avoid using the "resolve uniqueIDs" tool altogether. Also try to avoid copying objects which already have a uniqueID assigned, or get into the habit of clearing the object properties immediately after copying so that it doesn't cause issues later.

Whenever I get some free time to play around, I'd like to turn that Maxscript snippet into an actual user-friendly tool that can resolve even the most horrendous scene in one click. (This is among a host of other tasks that could benefit from automation, I just never got competent enough with scripting to do anything useful with it.)
 
Back
Top