The SimObject Statistics Profiler is a tool that can be used to check various metrics for your SimObject against the recomended and required values to be considered “optimised” for use in the simulation, especially on consoles. The documentation page covers how the tool should be used and what information it covers, while here you can find a number of additional common questions that have come from developers about why the tool exists and other subjects.


  • Why do we need such a tool?

    • This tool is primarily for developers to understand what impact their aircraft will have on the simulation performance and provide recommendations for optimisation.
  • Why are the tool results used to prevent ingestion on consoles?

    • Currently the tool is only used for the PS5 ingestion process (but it may be activated for Xbox later on)

    • Consoles have very strict stability targets which we cannot risk going over without detrimental consequences.

    • Badly optimized aircraft can lead to poor performance or even out-of-memory crashes.

    • One badly optimized asset may not be a big issue, but when multiple add-ons with such assets are installed, the risk grows significantly.

    • The limits we enforce should mitigate such risks on consoles.

  • Why do some Standard aircraft not conform to the limits?

    • Same as for third-party content: the tool was created after they were produced, so they could not conform to the limits.

    • If these aircraft get updated, they will have to respect the new rules.

  • The tool does not account for all aspects of the aircraft (JS/WASM code quality/efficiency, etc.). Are you aware of this?

    • This is true, and the tool will probably evolve over time.

    • It will be difficult (actually impossible) to test all code paths available in custom JS/WASM.

    • Note that we already monitor WASM memory consumption and crashes (JS is in the works).

    • Not having the perfect tool doesn’t mean there shouldn’t be any limits.

  • Why not put trust in the developers?

    • Even honest developers can make mistakes: some may think that their aircraft is perfectly modelled, but a quick review can uncover basic issues.

    • Developers sometimes have trouble taking into account that their add-on is not the only one loaded by the sim.

    • The tool has been calibrated for uses that developers may not be testing by themselves (huge airport, multiplayer, etc.).

  • We have an already released aircraft that works well on consoles but is flagged by the tool. What do we do?

    • Review the issues reported by the tool and fix them in your next update.
  • What about SimObjects that are not a player aircraft?

    • For now, we only enforce the rules on SimObjects that can be selected by the user in the Aircraft Selector.

    • We are working on ways to assess other SimObjects’ performance.

  • The number of vertices/faces shown by the tool is different from that shown in Max / Blender. Why is this?

    • When exporting from Blender, some vertices/faces may be duplicated for various reasons (different normals and/or UVs).

    • The vertices/faces counts include the shadow vertices/faces counts.

    • FYI, a face that casts shadows induces a maximum of 5 faces in the renderer (1 base face + up to 4 shadow slices).

    • Instruments may generate their own draw calls, which add to the counters.

  • The tool forces us to use/abandon our favorite modelling techniques. Will the tool prevent us from using our favorite modelling techniques?

    • The tool does not enforce any modelling technique.

    • Trim sheets / tileable materials can still be used, or not.

    • Instancing is still to be favored in your modelling tool where applicable. However, please note that instancing complex objects many times still has a real impact on GPU performance.

  • What is the Shadow Bounding Sphere?

    • It is the bounding sphere of the model, which we calculate while ignoring all invisible faces.

    • This sphere is used for shadow fitting: it allows for better resolution of shadow maps on models that abuse the invisible face trick to counter the LOD selection system.

  • What can we do when we exceed the limits?

    • Vertices/Faces:

      • First, check how many shadow vertices/faces you have. If they make up 80% of the total count, it means all vertices/faces cast shadows, and this can probably be reduced.

      • If the shadow count seems already low enough, then you need to rework your model and remove vertices/faces.

    • Shadow Vertices/Faces: reduce the number of faces that cast shadows in your modelling tool.

    • Materials: reduce the number of materials used in your model, potentially through tileable textures/materials.

    • GPU Memory: reduce the size of your textures.

    • WASM Memory Usage: optimize your code, and more specifically your allocations, to avoid using more than 512 MiB at any time.

    • WASM Error: debug your code to fix the crash.

0/255