public void Editor_CanGenerateCodeWrapperForInputAsset_WhenAssetNameContainsSpacesAndSymbols() { var set1 = new InputActionMap("set1"); set1.AddAction(name: "action ^&", binding: "/gamepad/leftStick"); set1.AddAction(name: "1thing", binding: "/gamepad/leftStick"); var asset = ScriptableObject.CreateInstance <InputActionAsset>(); asset.AddActionMap(set1); asset.name = "New Controls (4)"; var code = InputActionCodeGenerator.GenerateWrapperCode(asset, new InputActionCodeGenerator.Options { sourceAssetPath = "test" }); Assert.That(code, Contains.Substring("class NewControls_4_")); Assert.That(code, Contains.Substring("public UnityEngine.Experimental.Input.InputAction @action__")); Assert.That(code, Contains.Substring("public UnityEngine.Experimental.Input.InputAction @_1thing")); }