Critical issue at the end of the project (attaching an object to aircraft)

Hello friends! Thanks for this awesome place! At the end of our experimental
work for MSFS (I mean this copilot project):
(sorry, this is not PR, but just an example), so we need to find a working way
to attach an object (copilot simobject from Community folder) to any aircraft.
It is desirable to do this in some native way, without hacking the plane
files. I heed your ideas about this. It may be somehing like unworking
SimConnect_AttachObjectToSimObject or anything another. Sure, object may be
attached to any point of aircraft, we can move it via internal animaion. As,
for now, for developer stage purpose, I just read aircraft coordinates and
place copilot simobject to this point. Sure, this work with static aircraft.
When it move, copilot lost synchronization cause of litle data delay. Any
ideas about attaching an object to aircraft may be useful! Regards,

Nice idea ! Why don’t you just make a copy of the planes you want to add the
copilot too? I did that with my smokes configurator app because I didn’t like
the idea to share msfs/Asobo assets or the user to mod the files itself So
make a copy of the original plane in community and mod it, adding the PILOT_1
node to the lod0 glTF and a node to the node list, they are text files so
quite easy to handle

You found the main issue with the Simconnect position update : not only doing
that will show lags when the airplane moves, but it will also create
unnecessary traffic over Simconnect, while if we had a single Simconnect call
to Attach and another one to Detach, it would work perfectly and with zero
traffic, since the simulator itself would deal with the position updates. You
tried a single character: we are carrying 50 passengers at the time in the GSX
Passenger Bus, and they all perfectly smooth with zero issues, since they are
of course Attach points in the Bus XML, which in this case it’s easy, because
we made both the Passengers and the Bus. However, the lack of an Attach/Detach
make more messy to attach to any object in the sim, so you are forced to
create a custom XML, and it would prevent dynamically Detaching as well, for
situations in which you might want to completely remove an attached object
when your are done with it, so having an SDK call (like in P3D…) would be
very useful, and better for performances in general, since right now, the only
way to make an attached object disappear, is to create visibility conditions
in the XML, which I guess is not exactly the same as Detach+Destroy the
object. So please, Asobo, would you consider adding Attach/Detach calls to
Simconnect ?

Thank you, mamudesign! Copy whole aircraft? Hmm… Top aircraft have too big
size on disk. Another thing - I am afraid it developers not allow use copy of
original files and disrib it. But thanks for idea!

Thank you, virtuali. Yes, hope Simconnect Attach/Detach calls will work in
next versions. This may help a lot. Also hope Asobo know and may share just
another alternate way.

ASOBO please pay attention for this, cause more and more developers migrate to
MSFS and need that feature. With best regards!

you don’t need the whole airplane folder, just the files that need to be
overridden to add the copilot (basically only the LOD0 gltf, because most
likely all the others have the PILOT_1 node) and the method doesn’t really
need for any authorization you need to make a basic software interface,
reading all the airplanes of the user, so the user can select the airplane to
add the copilot to, once choosen, your app will create in the community a
folder with the same naming of the default original one, so the content of
that folder will override the default you then read the lod1 interior gltf to
locate location of the PILOT_1 node, (e.g. the a320
{“translation”:[-0.567698,1.262695,10.7690935],“name”:“PILOT_1”} ) once you
know that, you can copy the lod0 interior gltf from the default, and tell you
app to add that node at the end of the nodes list ( ],“scene”:0 ) last, you
need to another node to the nodes, so search for ( ]}],“skins” ) in the lod0,
and add 1 to the number right before add layout and manifest as needed it is
string manipulation only you can take a look how my smoke app works here (in
this case i’m working with the model.xml only : [Smoke a Plane - Aerobatic
smokes effects configurator App for Microsoft Flight Simulator |
configurator-app) while waiting to the Dev Team to add stuff, as Developer we
need to find a way :slight_smile: unfortunatly this method can work with non encrypted
airplanes only

Thank you, mamudesign! This way look like livery pack creation. I will try
this and tank you for so many details.