All Tutorials
Props

Custom 3D Props

Upload GLB models in the Custom Prop Builder, tag meshes as Threat / Steel / Structure, set behavior defaults, and share with your club.

What Custom 3D Props Are

The 3D editor ships with a baseline palette - walls, barrels, IDPA targets, steel, chairs, tables, movers. For anything beyond that (a specific car model, a custom barricade, a club logo prop, a themed stage piece), you can upload your own GLB model and use it just like the built-ins.

Custom 3D props are different from custom 2D props. The 2D editor uses SVG; the 3D editor uses GLB (Khronos glTF Binary). They share the same prop library UI but the underlying assets are separate.

Where to find GLB models: Sketchfab is the most common source. Pick "Download free 3D models", filter by glTF / GLB, and check the license before using.

The Custom Prop Builder

Go to Custom Prop Builder from your account menu (or hit the "+" tile in the 3D palette's custom prop section). The builder is where you upload, tag, and tune a prop before it shows up in the editor.

Step 1: Upload the GLB

Drag a .glb file onto the upload zone, or click to pick one. The model loads in a preview window where you can orbit and zoom just like the editor. The first time you upload, the builder runs an auto-fit to set a reasonable scale - tune it from there if needed.

50 MB cap per user. The total size of all your uploaded prop blobs is capped at 50 MB. Sketchfab models with high-poly meshes or 4K textures can hit that limit fast - decimate or downscale before upload if a model is more than a few MB.

Step 2: Tag Each Mesh

Most real-world models are made of multiple meshes (a car has wheels, doors, glass, body). Each mesh needs a role so the editor knows what to do with it during a stage plan. Select meshes in the preview and apply a role:

  • Threat - A cardboard-target zone. Counts as a shootable target. Headshot logic applies.
  • Non-Threat - A no-shoot target (penalty if hit).
  • Steel - A steel popper. Counts as 1 shot required, falls in Walk mode when fired.
  • Structure - Decoration. Not a target, not LOS-blocking by default.
  • Rotor Structure - Decoration that's part of a rotating assembly (e.g. a Texas Star arm). Rotates with the rotor body but doesn't count as a target itself.

Untagged meshes default to Structure. Multi-select works - shift-click multiple meshes in the preview and apply a role to the whole set.

Step 3: Behavior Defaults

Below the mesh list, the builder exposes behavior flags that travel with the prop every time someone drags it into a stage:

  • counts_as_target - Master switch. When off, the prop is decoration regardless of mesh tags.
  • is_steel - Treat as steel for scoring (1 shot required, no headshots).
  • is_nonthreat - Penalty target.
  • editable - Whether downstream users can change the behavior flags after dropping the prop into a stage. Off means "I tuned this, leave it alone."
  • Default body / head shots - Initial shot count when a threat-tagged mesh is engaged. Stage authors can override per-target after placing.
Identity flags vs defaults: Identity flags (is_steel, is_nonthreat) are re-stamped from the prop definition every time the prop loads, so a typo in your stage doesn't drift. Default shot counts are sticky - the stage author's per-target overrides win.

Sharing with Your Club

If you're in a club, custom 3D props you upload are automatically visible to your clubmates. They don't need to upload their own copies. When a clubmate uses your prop in their stage, the editor adds a reference (not a duplicate of the blob) - so your 50 MB cap isn't affected by clubmates using your work.

Reads are broadened, writes are not: only you can edit or delete a prop you uploaded.

Templates aren't a 3D editor feature yet. Multi-prop templates (group several props into a single drop-in unit) exist in the 2D editor today; the 3D side will pick that up in a future update. For now, copy/paste (Ctrl+C / Ctrl+V) is the fastest way to reuse a prop cluster in a stage.

Editing and Deleting

From Manage Props in your account menu you can:

  • Re-open a prop in the builder to retag meshes or change behavior defaults.
  • Rename it.
  • Delete it (only allowed if no stage of yours currently uses it - the editor warns you with the list of stages to fix first).
Deletion is permanent. The blob is removed; clubmate stages that referenced your prop will fall back to a placeholder. Don't delete a prop that's in a published club stage without coordinating.

Troubleshooting

Model loads but everything is way too big or way too small. The auto-fit failed - common with pre-rotated or pre-scaled meshes. Open the builder's scale field and tune manually; the preview updates live.

Skinned meshes (rigged characters) appear glued to the world origin. The editor clones rigged GLBs with skeleton support, so this should "just work" - if you hit it, file a bug report with the model so it can be added to the regression set.

A target mesh isn't getting shot markers. Open the prop in the builder. The mesh probably isn't tagged Threat or Steel, or the prop's counts_as_target master flag is off. Fix and re-save; existing stages pick up the new behavior next time they load.

© 2020 - 2026 Appalachian Systems LLC. All rights reserved.

Terms of Service | Privacy Version 0.9.0