# Playing 3D events in NON-UNITY CSharp

**URL:** <https://qa.fmod.com/t/playing-3d-events-in-non-unity-csharp/20625>\
**Category:** FMOD Studio\
**Tags:** csharp\
**Created:** [September 7, 2023, 4:07am UTC](https://qa.fmod.com/t/playing-3d-events-in-non-unity-csharp/20625 "2023-09-07T04:07:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saucedbox](https://avatars.discourse-cdn.com/v4/letter/s/f475e1/32.png) [@Saucedbox](https://qa.fmod.com/u/Saucedbox)\
**Post date:** [September 7, 2023, 4:07am UTC](https://qa.fmod.com/t/playing-3d-events-in-non-unity-csharp/20625/1 "2023-09-07T04:07:59Z")

</div>

I am having trouble playing a 3D event in FMOD using the built in C# wrapper. The event I’m using plays normally but has no panning. I have verified that is not FMOD not panning the audio (as adding the Spatializer in studio and adjusting manually works properly), but when I retrieve the 3D\_ATTRIBUTE from the instance using get3DAttributes, getting the position’s x property I set returns as 0, even though I set it to 20. I believe this could be the root of the problem.

```auto
//On the game's update tick:
ATTRIBUTES_3D at = new ATTRIBUTES_3D
{
       position = new VECTOR { x = 20f, y = 4f, z = 0f }
};
inst.set3DAttributes(at);
inst.get3DAttributes(out var deb);
//deb.position.x returns as 0.

//Update both systems:
StudioSystem.update();
FMODSystem.update();

```

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [September 8, 2023, 4:19am UTC](https://qa.fmod.com/t/playing-3d-events-in-non-unity-csharp/20625/2 "2023-09-08T04:19:05Z")

</div>

Hi,

In addition to setting the position, you will also need to specify a forward and an up vector:

```auto
ATTRIBUTES_3D at = new ATTRIBUTES_3D
{
       forward = new VECTOR { x = 0f, y = 0f, z = 1f },
       position = new VECTOR { x = 10f, y = 4f, z = 0f },
       up = new VECTOR { x = 0f, y = 1f, z = 0f }
};

```

Give that a shot at let me know if it resolve the issue.
