Before enabling creation or editing capabilities, make sure that your model defines an IFeatureModelUpdater. You typically do that by calling FeatureModelBuilder::editable(true) when you are creating your model:

auto editableModel = FeatureModelBuilder::newBuilder()
                         .modelMetadata(modelMetadata)
                         .featureModelMetadata(featureModelMetadata)
                         .bounds(modelBounds)
                         .features({})
                         .editable(true)
                         .build();

C#

var editableModel = FeatureModelBuilder.NewBuilder()
    .ModelMetadata(modelMetadata)
    .FeatureModelMetadata(featureModelMetadata)
    .Features(new List<Feature>())
    .Editable(true)
    .Build();

To allow users to edit the geometry of military symbols interactively, you must enable the editing behavior in the feature layer builder. This snippet shows you how to do that:

// Create a layer from a military symbols model and make it editable
auto layer = FeatureLayer::newBuilder() //
                 .model(militarySymbologyModel)
                 .editable(true)
                 .build();

C#

// Create a layer from a military symbols model and make it editable
var layer = FeatureLayer.NewBuilder()
    .Model(militarySymbologyModel)
    .Editable(true)
    .Build();

See this article for more information about editing.

To allow users to insert new military symbols on the map, you must pass the correct IGeometryCreator to your controller’s Creator. You can retrieve the geometry creator from the MilitarySymbologyNode:

// set up a Creator for the feature and its geometry.
auto standard = MilitarySymbology::Standard::MilStd2525b;
auto symbol = MilitarySymbol::create(standard, "G*G*GPAR--****X");
auto featureCreator = std::make_shared<MilitarySymbolFeatureCreator>(symbol);

// wire creation to the controller (here we're using DefaultController)
defaultController->setCreator(Creator::newBuilder().layer(layer).map(map).featureCreator(featureCreator).build());

C#

// set up a Creator for the feature and its geometry.
var standard = MilitarySymbology.Standard.MilStd2525b;
var symbol = MilitarySymbol.Create(standard, "G*G*GPAR--****X");
var featureCreator = new MilitarySymbolFeatureCreator(symbol);

// wire creation to the controller (here we're using DefaultController)
defaultController.Creator = Creator.NewBuilder().Layer(editableLayer).Map(map).FeatureCreator(featureCreator).Build();

See this article for more information about creation.