Verse: expose Material control on Map Controller device (and MPC access generally)

Problem: map_controller_device has a Material input in the editor, but nothing related to it is exposed to Verse — the class only has Activate/Deactivate/Enable/Disable/capture-box/transform functions (see Verse API ref). There’s no way to read or write the material it’s using, or set a scalar/vector parameter on it at runtime.

This makes any kind of dynamic, per-player minimap effect — fog of war, progressive area reveal, discovery states, etc. — basically impossible to do through the actual native minimap system. Right now the only workaround is pre-building a separate Map Controller device (with its own static material) for every possible visual state and swapping which one is Activated per player, which blows up combinatorially fast (2^N variants for N independently-togglable elements).

Request: Add Verse-accessible material control to map_controller_device (and ideally map_indicator_device), e.g.
or just an MPC that controls Only FOR a triggering player.

verse

SetMaterial(Material:material):void
GetMaterialInstance():material_instance

so creators can instantiate a material per player (same pattern Verse UI materials already support via asset reflection) and drive it with runtime data, instead of only being able to pick from fixed pre-baked states.

This would be a huge help if this gets added!!

2 Likes

You’re reading the API right. map_controller_device in Verse is Activate / Deactivate / Enable / Disable plus the capture box. No SetMaterial, no MPC, no per-player parameter. That is not you missing a using-clause.

Until Epic exposes it, the native minimap cannot do fog-of-war or N independent bits without the combinatorial spawners you already described.

What people actually ship:

  1. One Map Controller, fake the fog in UMG. Hide the native minimap chrome, draw your own map widget, drive a material there. Verse UI materials do take parameters. Same look, you own the reveal state.
  2. A small set of Map Controllers, not 2^N. Group states (unexplored / sector A / A+B / all). 4–6 devices, swap with Activate per player. Ugly, but it works if the map only has a handful of regions.
  3. Don’t use Map Controller for the secret. Put discovery on world markers / custom widgets and keep the minimap dumb.

+1 on SetMaterial / a per-player MPC. That is the real fix. The 2^N device farm is a dead end past a few flags.