Blog

Technical thoughts, troubleshooting, and development notes.

Blog/Perforce

How to Configure TypeMap

Unreal Perforce file types and team binary-delivery boundaries.

Back
This page's table of contents

Perforce: Setting Up TypeMap

First, you need a server administrator account to perform this operation

Open CMD, enter p4 typemap, and press Enter

The TypeMap configuration file will open automatically

Copy the following contents into it

The content below extends the TypeMap commonly used for UE based on my practical experience, and currently suits most development environments

TypeMap:

    # ───────────── 通用(公共) ─────────────

    # ➤ 自动生成产物(程序生成) → +w
    binary+w //....exe
    binary+w //....dll
    binary+w //....lib
    binary+w //....app
    binary+w //....dylib
    binary+w //....ipa
    binary+w //....so
    binary+w //....aar
    binary+w //....apk
    binary+w //....dex
    binary+w //....modules
    text+w   //....log
    text+w   //....min.js
    text+w   //....min.css
    text+w   //....map
    text+w   //....lock
    text+w   //....dist
    text+w   //....build
    text+w   //....out
    text+w   //....bin
    text+w   //....obj
    text+w   //....generated.cs
    text+w   //....generated.h
    text+w   //....g.cs
    text+w   //....pdb
    text+w   //....response
    text+w   //....target

    # ➤ 文本类(全部不加锁)
    text //....ini
    text //....config
    text //....json
    text //....xml
    text //....yaml
    text //....yml
    text //....csv
    text //....tsv
    text //....sh
    text //....bat
    text //....ps1
    text //....makefile
    text //....dockerfile
    text //....env
    text //....txt
    text //....md

    text //....py
    text //....java
    text //....cs
    text //....c
    text //....cpp
    text //....h
    text //....js
    text //....ts
    text //....jsx
    text //....tsx


    # ───────────── Unreal Engine ─────────────

    binary+l //....uasset
    binary+l //....umap
    binary+l //....upk
    binary+l //....udk
    binary+l //....ubulk
    text //....uplugin
    text+w //....uproject


    # ───────────── Unity ─────────────

    text //....meta
    text //....shader
    text //....cm
    text //....proc
    text //....md5mesh
    text //....md5anim
    text //....ma

    binary+l //....prefab
    binary+l //....mb
    binary+l //....mat
    binary+l //....psb
    binary+l //....fbx
    binary+l //....unity
    binary+l //....asset
    binary+l //....aas
    binary+l //....tga
    binary+l //....jpg
    binary+l //....png
    binary+l //....wav
    binary+l //....ogg
    binary+l //....demo
    binary+l //....roq


    # ───────────── Web 前端 ─────────────

    text //....html
    text //....htm
    text //....css
    text //....scss
    text //....sass
    text //....less
    text //....vue
    text //....svelte

    text //....eslintrc
    text //....prettierrc
    text //....babelrc
    text //....stylelintrc
    text //....editorconfig
    text //....env.local
    text //....env.production
    text //....env.development


    # ───────────── 小程序(微信/支付宝)─────────────

    text //....wxml
    text //....wxss
    text //....axml
    text //....acss
    text //....ttml
    text //....jss
    text //....mts


    # ───────────── iOS / macOS ─────────────

    text //....swift
    text //....m
    text //....mm
    text //....plist
    text //....storyboard
    text //....xib
    text //....entitlements
    text //....xcconfig


    # ───────────── Android ─────────────

    text //....kt
    text //....gradle
    binary+w //....dex
    binary+w //....aar
    binary+w //....apk
    binary+w //....so

Thanks for reading. Feel free to like, follow, bookmark, and discuss questions in the comments.
If this article helped you, click here to donate and support the author.