Jump to content

Grimwar/Mapping: Difference between revisions

From Vellocet Developer Community
Document optional map settings and default music
Guide custom Unity materials and models into Vertex
Line 57: Line 57:
For C# behavior tied to this map, use '''Map → SDK resources → VMod → Create…''' or attach an existing resource inside the source folder. The map build includes it; you do not need a second installed package. See [[Grimwar/VMod#Attach a VMod to a map|map-bound VMods]].
For C# behavior tied to this map, use '''Map → SDK resources → VMod → Create…''' or attach an existing resource inside the source folder. The map build includes it; you do not need a second installed package. See [[Grimwar/VMod#Attach a VMod to a map|map-bound VMods]].


Use '''Map → Content…''' for custom sounds, models, textures, and data. References to another installed package become dependencies. See [[Grimwar/Custom content]].
Use '''Settings → Map details → Content…''' to import custom sounds, models, textures, and data. References to another installed package become dependencies. See [[Grimwar/Custom content]]. For Unity-authored materials and model prefabs, follow [[Grimwar/Unity custom content|the guided Unity asset workflow]], including the exact source folders and catalog setup.


== Set lighting and a thumbnail ==
== Set lighting and a thumbnail ==

Revision as of 11:55, 4 October 2026

Create the map in Vertex, build it with the Grimwar SDK, and test it in the installed game. Complete SDK setup first.

Create and name the map

Save a new map in a source folder you own, such as Maps/my_arena/my_arena.vertex. Keep the companion script, thumbnail, and custom media there. Use File → Welcome… → Open repository… to find existing editable maps in a local checkout.

The filename sets the map ID and exported add-on ID. sb_developer.vertex produces sb_developer, including the underscore. Set Map → Title to a readable display name. Changing the title does not rename the ID; Save As / Copy… with a different filename does.

Choose an ID that does not collide with a built-in map or another installed add-on. An sb_, koth_, or other filename prefix is a naming convention, not a game-mode switch. Choose the mode when hosting. The current Vertex SDK connection uses King of the Hill for its default playtest launch.

Build a playable space

Start with a floor, walls, and a route between spawn areas. See Vertex/Editing for drawing, clipping, materials, models, terrain, and collision controls.

Use Auto collision for ordinary geometry and inspect it with Shift+C. Box or Convex collision can seal a visible doorway. For moving doors and platforms, put their geometry beneath the corresponding entity in the hierarchy so it moves with the entity.

The Prefabs browser includes a burn barrel and Order/Union spawn-door assemblies. Place an assembly to inspect how its models, triggers, doors, audio, and script host fit together. Linked instances remain editable.

Place spawns and objectives

Use the entity creation controls and give the objects readable, stable names.

Purpose Entities and setup
Team spawn info_player_spawn. Set Team explicitly; the default is Union. Provide usable spawns for each participating team.
King of the Hill or capture objectives game_capture_point. Set the starting owner and capture times.
Uplink game_capture_flag. Configure the prerequisite graph and exactly one middle flag.
Blitz game_blitz_tank with path points and child checkpoints.
Gravewar facilities Skull deposit and upgrade zone.
Supplies item_pickup or func_resupply.

The entity reference lists entity types. Its individual pages include placement, settings, defaults, and script signals.

Volumes use their authored orientation and size. Keep a trigger large enough to overlap a player, and check its team/activator filters. A new trigger_multiple has Allowed Teams: None, which blocks participants until you select the intended teams.

Optional map settings and music

Map Settings (info_map_settings) is optional. You can compile, export, and play a map without placing one or choosing music. Omitted settings use the game defaults; the default loading and gameplay score is Ordainment.

To override the score, place one Map Settings entity and choose Compound, Ritual, Arcade, or Ordainment in Music Set. Leaving Music Set at Unassigned also uses Ordainment. The map filename and title do not select music.

Do not put objects beneath Map Settings: the compiler reads its overrides and removes the settings object from the compiled scene. Duplicate settings entities and invalid music values remain build errors. A package with no musicSet value also uses the default score.

Add logic and media

Vertex associates a .vsig script with the map. Use the Code workspace to connect entity outputs to inputs, such as a trigger opening a door. Grimwar/VSig gives a complete example.

For C# behavior tied to this map, use Map → SDK resources → VMod → Create… or attach an existing resource inside the source folder. The map build includes it; you do not need a second installed package. See map-bound VMods.

Use Settings → Map details → Content… to import custom sounds, models, textures, and data. References to another installed package become dependencies. See Grimwar/Custom content. For Unity-authored materials and model prefabs, follow the guided Unity asset workflow, including the exact source folders and catalog setup.

Set lighting and a thumbnail

Set the sky, sun, ambient light, and fog in Map Environment. Place env_light entities for local lights. Use Mixed or Dynamic lighting for animated or scripted lights; Area lights are baked only.

Choose a lightmap quality for your test. None skips lightmap/APV baking but does not skip Grimwar's required navigation, spatial, and occlusion work. Check the compiled lighting in the game.

In Map → Thumbnail, choose a PNG or JPEG. Vertex uses it for the add-on thumbnail and in-game map image. Use 1920 × 1080 for release artwork. Vertex copies an image from outside the source folder beside the map, so include that copy when sharing the source.

Compile and play

  1. Save the map and any externally edited script or media files.
  2. Select Preview and your desktop target in Build.
  3. Select Play in Game. Vertex captures the inputs, compiles, installs the add-on, and launches Grimwar.
  4. In Addons, confirm the package is valid and enabled. Choose Use This Copy if a Workshop or older local copy is selected.
  5. Open Host, select the map and intended game mode, and use Local access for an unpublished build.
  6. Test collision, spawns, objectives, sounds, scripts, and more than one round. Reload the map to check initialization again.

Export add-on performs the build without launching the game. Open current output shows the generated package. Close a running playtest before replacing its loaded bundles.

The default install location is Grimwar's user add-on library; Using add-ons lists the platform paths. You can choose a separate output folder in Build's Advanced settings for isolated tests.

Build for publishing

Choose Release and export the map. Release includes Windows client, macOS client, and Linux dedicated-server output. Install every required Unity target module and resolve all build errors before publishing.

Keep the generated folder intact. It contains addon.json, platform files, and build receipts used to verify the package. Editing generated files breaks that verification; change the source and rebuild instead.

Publish from Grimwar's Addons screen following Grimwar/Steam Workshop addons. Publish required media packs first. An unpublished local package has no download source for other players and is restricted to local testing.