[How-to] Map an interior and stream it in FiveM

Tools needed :

For GTAUtil, check Releases section on github and take the latest version. You will need basic knowledge of commandline stuff.

(Hold Shift while doing right-click to show the ‘open in powershell’ option)

  1. Download CodeWalker and GTAUtil, add GTAUtil to your PATH variable

  2. Find interior informations by position

gtautil find --position 441,-983,30

ymap: hei_dt1_19_interior_0_heist_police_dlc_milo_.ymap
  ytyp => hei_dlc_heist_police.ytyp
    mlo => hei_heist_police_dlc
    position => 442.4296,-985.067,29.88529
    rotation => 0,0,0,1
      room => limbo
      room => PH_ARMOURY_ROOM
      room => PH_LOBBY_ROOM
      room => PH_OFFICE_ROOM
      room => PH_CORRIDOR01_ROOM
      room => PH_MUSTER_ROOM
      room => PH_STAIRWELL_ROOM
      room => PH_LOCKER_ROOM
  1. Create a a project folder and copy hei_dlc_heist_police.ytyp to this folder

  2. Extract mlo entities to separate ymaps

gtautil extractentities --name police --ytyp .\hei_dlc_heist_police.ytyp --position 442.4296,-985.067,29.88529 --rotation 0,0,0,1
  1. Add some entities to the target room ymap in CodeWalker (Make sure the right ymap is selected in the project window)
    (don’t touch limbo, just load it to see the base interior mapping)

I HIGHLY recommend to load one room at a time in CodeWalker to avoid mistakes

  1. Inject ymaps back to mlo
gtautil injectentities -x --name police --ytyp .\hei_dlc_heist_police.ytyp --ymap '.\police\*.ymap' --position 442.4296,-985.067,29.88529 --rotation 0,0,0,1
  1. Copy generated ytyp to a stream folder, the ytyp must be renamed to match the original ytyp name, in this case it is hei_dlc_heist_police.ytyp

  2. Restart your server and run fivem
    Interior now contains your new entities :slight_smile:

To make your props static (frozen), put the flag 32 on them

If you duplicate a prop, make sure you set the guid of the new prop to 0. A random unique guid will be assigned by GTAUtil. Duplicate guids will make your props disappear.

The -x parameter means “Remove entities not found in ymaps” so if you delete something you must put the -x paramater in the injectentities command

If the interior is not loaded by default like the hospital you have to load the IPL via script.

for an ymap named mymap.ymap you have to create a client script and put this in it


You can ignore these steps if you are able to see the interior ingame.


You’re a God GizZ
Long life BAGUETTE <3


You’re a God GizZ
Long life BAGUETTE <3

hahahaah :smiley: Soooo true


Great as always was, and I hope it will be!

1 Like

Nice Tutorial thanks!

1 Like

Thanks GiZz Brilliant Tutorial!

1 Like

where can i find download for these " nodejs and npm" tools ?

File bkr_biker_dlc_int_ware01.ytyp.xml not found i get this error in Node.js

1 Like





Hello, is this not working anymore, is there an alternative way of doing this?

ymap --inject2ytp --ytyp v_int_60.ytyp.xml --ymap Gokarttrack.ymap.xml --room V_60_HangerRm --position -955.83570000,-2995.44600000,12.95679000 --rotation 0.0,0.0,-0.86602540,0.50000020 --name merged

and I am getting: File v_int_60.ytyp.xml not found

Update. All working, the path was not right so that is why it was not found!!!

1 Like

@GiZz are there any way for you to update this one? step 4 aint correct anymore sadly…

Working on a proper tool :slight_smile: This one was just my first time with tihis kind of stuff. With the new tool its also working with interiors having a rotation other than 0 0 0 1 and no need to use xmls, it works with ymap / ytyp directly. @Magnus_Nielsen

@GiZz Sound interesting! Any Discord or something where you are keeping people up to date or where people can contact you? :smiley:

so i made a custom ymap and i want it to load in interiors dos this work for custom things 2 or only the once made from rockstar ?

Please, fix the images!

Updated tutorial with new tools :slight_smile:


If anyone tried the new tutorial, feedback will be greatly appreciated so I can fix bugs if there is any.


Updated GTAUtil to fix a bug with float parsing in commandline

ihad aproblem and @GiZz help me alot

iwill say it in my words is amazing ty so much for you help man

i’m appreciated so much that you help me today a lot

and i know we speak different languages and all the different on the codes

i will say my experience with the program was amazing and i learned alot from you

ijust want to stop here and Say Thank You man


Thank you :slight_smile: It means a lot to me !