1. Update 0.8 for Assetto Corsa EVO is now live with Daily Racing at https://acevo.gg/ Introducing the ACE SDK! For the full changelog see the News and Announcement section. Thank you for participating in the Early Access programme, we will continue to work on bringing you updates.
  2. If you experience an issue while starting up AC EVO make sure your Steam installation folder and the user/Save Games/ACE folder are set as exceptions in your Antivirus software and Windows protection and/or Firewall settings. Delete the user/Saved Games/ACE folder and try again.
  3. Thank you for participating in the Early Access programme! If you experience an issue, please open a new thread in the appropriate AC EVO subforum and please make sure you ALWAYS attach the log.txt file from the user/Saved Games/ACE/ folder in your report. If you experience a crash, please make sure to zip and attach the whole "crashdumps" folder from the same location.

ACC Blog ACE Shared Memory API Documentation

Discussion in 'Assetto Corsa EVO Blog & SDK' started by pankykapus, Apr 15, 2026.

  1. pankykapus

    pankykapus KS Dev Team Staff Member KS Dev Team

    The documentation for the shared memory API can be found here.

    A sample executable and solution can be downloaded here.
     
    Last edited: Apr 16, 2026

  2. Similar Threads
    Forum Title Date
    GUI - HUDs - Apps Bugs & Issues API/Shared Memory : Pit window timed race Mar 23, 2017
    Programming Language - Apps - GUI Themes Shared Memory telemetry - possible race condition? Feb 18, 2017
    Programming Language - Apps - GUI Themes Shared mem - how do we tell that a timed race is over? Feb 16, 2017
    Tracks modding Shared xpacks for all users of race track builder.. share yours too! Nov 22, 2015
    AC EVO Troubleshooting 0.8.0.1 - Crash After Qualifying in acevo.gg Daily Racing Jul 15, 2026
    AC EVO Troubleshooting Severe stuttering on TV camera (F3) in online races Jul 9, 2026
    AC EVO General Discussions ACE Results Companion (ACE-RC) Jul 5, 2026
    AC EVO Gameplay no common key between replays and acevo.gg race results Jun 29, 2026
    AC EVO Graphics - Tracks and Cars Racelogic devide overflows laptime counting in replays Jun 29, 2026
    AC EVO User Interface please unlink Setup Interface from Session Switch Jun 26, 2026
    Programming Language - Apps - GUI Themes Digital Race Engineer (DRE) for Assetto Corsa Jun 20, 2026
    AC EVO Troubleshooting batch Script to delete some ACE folders upon exiting ACE Jun 10, 2026
    Assetto Corsa EVO Blog & SDK ACE SDK Audio Discussion Jun 4, 2026
    Assetto Corsa EVO Blog & SDK ACE SDK Physics Discussion Jun 4, 2026
    Assetto Corsa EVO Blog & SDK ACE SDK Generic Discussion Jun 3, 2026

  3. ExNihilo

    ExNihilo Rookie

    This file mentions an "example solution", is it available somewhere ? Thanks.
     
  4. pankykapus

    pankykapus KS Dev Team Staff Member KS Dev Team

    Fair point, post updated.
     
    ㄻ-Defragler and ExNihilo like this.
  5. Looks good, really appreciate the fact that the page names have been renamed compared to previous Assetto Corsa games!
     
  6. Just a small observation that in the example code file SharedFileOut.h SPageFilePhysics does not follow the pattern of the other structures in now being renamed SPageFilePhysicsEvo.
    This is handy for those of us with a project that supports AC so we don't get an error for redefining an existing struct.
    Obviously I renamed it myself but would nice nice when copying future revisions.
     
  7. Doug Duthie

    Doug Duthie Hardcore Simmer

    Is it possible to add a section with a definitive list of cars and tracks (ie map of shared memory carModel/trackId to the display name used in the results files) like you did in the document for ACC? Also, is there a numeric carModelId like there was with ACC or is that gone now?

    Thanks
     
  8. Meeky

    Meeky Rookie

    Very much appreciated, and the solution seems to confirm something which I thought bizarre and had assumed was incorrect in the documentation - is there really no sector time reporting available via the API?

    I'd love the answer to be "oops - forgot to add that", or at least "that's planned" - because I'd hate to go back to parsing the logs to extract sectors :-/
     
    Seven Smiles likes this.
  9. Meeky

    Meeky Rookie

    OOPS! And I can't even resort to parsing the logs for sector times because it appears that in 0.6 the whole log is now buffered until EVO exits? :(
     
  10. Seven Smiles

    Seven Smiles Racer

    Also a note that the program did nothing, I had to read the code to find out it prints one of the three structs when you press 1,2 or 3.
     
  11. michael_

    michael_ Alien

    I think all of this is aimed at the kind of people who are comfortable looking at code...
     
  12. Seven Smiles

    Seven Smiles Racer

    Maybe, but I don't usually have to read code to use it.
     
  13. michael_

    michael_ Alien

    It's not a robust, finish application for telemetry.

    It's a small example so people who are implementing the above get the details they need.

    There's not really a lot of point running it at all, it's more or less entirely made to look at.

    If you want telemetry app, simhub et al are your friends.
     
  14. Seven Smiles

    Seven Smiles Racer

    I am one of the people who are implementing it, I'm working on adding ACE to Crew Chief...
     
  15. TheBigO

    TheBigO Racer

    Hi, as a heads up. The value of is_timed_race is flipped (1 for lap based races and 0 for timed races).
     
    Seven Smiles likes this.
  16. Doug Duthie

    Doug Duthie Hardcore Simmer

    It looks like the SPageFileGraphicEvo.car_model isn't populated correctly for all cars. So far I've found the Lancia Delta and Toyota AE86 just report "0" - ie x48 followed by 32 nulls
     
  17. pankykapus

    pankykapus KS Dev Team Staff Member KS Dev Team

    Documentation and solution have been updated.

    Please update your apps if necessary.
     
    ExNihilo, unpierrot and RadstaR like this.
  18. TheBigO

    TheBigO Racer

    Hi, in ACC times, the data of all other participants on the tracks (standings, timings, ...) have been made available using the UDP interface. What are the plans for AC Evo? Will the UDP interface be available here as well or will this information be integrated into shared memory (which is preferred for me, to be honest).
     
    Doug Duthie and Seven Smiles like this.
  19. pankykapus

    pankykapus KS Dev Team Staff Member KS Dev Team

    UDP, later down the line.
     
  20. Testing the values I get some differences from the docs and other some differences by some cars (noted on two GT3 cars):

    1. SPageFilePhysics.tyreWear[4] — documented but unpopulated

    ▎ PDF: "Tyre wear level (0.0 = new, 1.0 = fully worn) [FL, FR, RL, RR]"

    Stays at 0.0 for every corner the entire session, on every car tested.

    2. SPageFilePhysics.rideHeight[2] — unit not uniform across chassis

    ▎ PDF: "Ride height at front and rear axle in metres [front, rear]"

    Most chassis publish metres correctly (≈0.05 race, ≈0.15 road). Some chassis possibly publish raw millimetres in the same slot — verified with a car whose rideHeight[0] and rideHeight[1] both read 60.04 (impossible as 60 m; consistent as 60 mm maybe?).

    3. SPageFilePhysics.suspensionTravel[4] — sign convention not uniform

    ▎ PDF: "Suspension compression travel in metres" (implies non-negative)

    Most cars publish positive compression from full extension. Some chassis possibly publish a signed displacement around a static reference instead — at rest the values come back negative (around −0.03 m), swinging both directions on kerb hits.

    4. SPageFilePhysics.camberRAD[4] — right-side sign convention undocumented

    ▎ PDF: "Wheel camber angle in radians per corner [FL, FR, RL, RR]" — no sign convention specified.

    Right-side wheels (FR, RR) report opposite sign from the setup tool. Setup of −4° front / −3.5° rear lands as:

    ┌────────┬───────┬───────────┐
    │ Corner │ Setup │ SHM value │
    ├────────┼───────┼───────────┤
    │ FL │ −4.0° │ −3.955° │
    ├────────┼───────┼───────────┤
    │ FR │ −4.0° │ +4.038° │
    ├────────┼───────┼───────────┤
    │ RL │ −3.5° │ −3.502° │
    ├────────┼───────┼───────────┤
    │ RR │ −3.5° │ +3.496° │
    └────────┴───────┴───────────┘

    Magnitudes match the setup tool; only the right-side sign flips. Consumers wanting a uniform "negative = top-in" semantic must negate FR/RR.

    5. SMEvoTyreState.tyre_temperature_left/right — labels are car-relative, not patch-relative

    ▎ PDF:
    ▎ "tyre_temperature_left: Inner-edge tyre temperature in °C"
    ▎ "tyre_temperature_right: Outer-edge tyre temperature in °C"

    The labels are car-relative (the side of the contact patch facing the car's left), not patch-relative:

    ┌────────┬──────────────────────────────┬──────────────────────────────┐
    │ Wheel │ ..._left slot │ ..._right slot │
    ├────────┼──────────────────────────────┼──────────────────────────────┤
    │ FR, RR │ inner edge ✓ matches PDF │ outer edge ✓ matches PDF │
    ├────────┼──────────────────────────────┼──────────────────────────────┤
    │ FL, RL │ outer edge (opposite of PDF) │ inner edge (opposite of PDF) │
    └────────┴──────────────────────────────┴──────────────────────────────┘

    Verified with a uniform −4° camber setup: the inner edge is hotter on every wheel only after swapping the L/R values for the FL/RL slots.

    6. SPageFilePhysics.accG[2] (vertical) — gravity-subtracted, not documented

    ▎ PDF: "Acceleration in G [lateral X, longitudinal Y, vertical Z]"

    accG[2] is gravity-subtracted — reads ≈0 g at rest and only swings under chassis pitch / kerb hits, rather than the ≈+1 g a consumer would expect at rest from a raw vertical accelerometer.

    Has anyone confirm it? Or are my tests wrong?
     
    Roberto Olivetti likes this.
  21. Doug Duthie

    Doug Duthie Hardcore Simmer

    Can a differentiation be made between different versions of cars in shared memory/results files? For instance with the Mini, the B16 vs A series is almost double the power so laptimes and fuel consumption will be dramatically different. It would be good to be able to identify these in order to categorise times and predict fuel usage
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice