UDN
Search public documentation:
ConfigurationFilesJP
English Translation
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
Unreal Engineを設定する
v3323 を最新にするために Michiel Hendriks により更新。その前に、Richard 'vajuras' Osborne (UdnStaff)により、DefaultGame property in Engine.Engine( Engine.Engine のデフォルト ゲーム プロパティ)に関する詳細を追加するために更新。原著者は、Richard 'vajuras' Osborne (UdnStaff)。 メモ:何か重要な事項がもれているのを見つけられた方は、自由に追加してください。Ini ファイルについて
Unreal Engine は、主に3つの ini ファイル(UT2004.ini, User.ini, および UnrealEd.ini)に依存して、機能と初期化の方法を規定します。変数には、ネイティブ コードによって直接アクセスされるものもあれば、UnrealScript コードに容易にトレースできるものもあります。SaveConfig() または StaticSaveConfig() 関数がオブジェクトに呼び出されたときはいつでも、エンジンは、その変数を指示されたconfig ファイルに保存します(クラスが、代替のコンフィギュレーション ファイルに設定を保存するように定義されていない場合)。 ini ファイルのネーティブ コードによって使用される変数は、*通常* 単純なタイトルを持ちます。例えば、UT2004.ini ファイルに現れる最初の*タグ*は、単純に [URL] と名付けられます。しかし、unrealscript コードによって使用されるいかなる変数も、*通常* フォーマット(パッケージ)に続く完全な資格のクラス名を持ちます。(クラス名)。例えば、 UT2004.ini の[Engine.Engine] セクションによって、エンジン パッケージ内に格納されたエンジン クラスが変数をロードすることが規定されています。この規則には例外があります。例えば、*WinDrv.WindowsClient* で、これは、ネイティブ C++ コードによってロードされたタグです。 また、UCC (UnrealScript Compiler) は、UT2004.ini を使用して、どのパッケージを存在させるかを決めることを覚えておいてください。ゲーム エンジンとは違って、UCCでは、パッケージをロードするのに、設定(主にエディタ、EditorEngine セクション)の小さなサブセットを使用するのみです。 エンジンを実行する最初のときは、特定の ini ファイルが最も不明になりやすいときです(UT2004.ini および UnrealEd.ini)。デフォルトの ini ファイルがロードされ、UT2004.ini に変換されると同時に DefaultUnrealEd.ini が UnrealEd.ini に変換されます。実際の ini ファイルが生成された後は、デフォルトのファイルは使用されなくなります。ただし、デフォルトのファイルは、参照用として非常に役に立ちますUT2004.ini ファイル
このファイルは、サーバ上のすべてのプレーヤに適用される、プロトコル、デフォルト/イントロ マップ、エントリ レベル、およびグローバル情報をロードするためにエンジンによって使用されます(ゲーム ルールなど)。このファイルには、好みのレンダー デバイスなどの設定が保存されます。 では、セクション毎に ini を分類しましょう。 セクション: URLクラス: Engine/Src/UnURL.cpp - StaticInit()
によってロード 注: これらのデフォルトのいくつかは、コマンドラインによってオーバーライドできます(デフォルト マップなど)。その他のデフォルトは、他の場所でオーバーライドされます。例えば、デフォルトの 名前 および クラス は、DefUser.ini のDefaultPlayer タグによってオーバーライドされます。
[URL] Protocol=ut2004 (Defines the protocol, the part before the ://, ut2004://host/map?options) ProtocolDescription=Unreal Protocol (Describes the protocol, a friendly name of it) Name=Player Map=Index.ut2 (The default map, should not be changed, index.ut2 serves as meta map) LocalMap=GameIntro.ut2 (Default to open when the client is started) NetBrowseMap=Entry.ut2 (The map used when traveling from one map to the other) Host= (Default host part of the url, should be empty) Portal= MapExt=ut2 (Default Map Extension) EXEName=ut2004.exe (Name of the exe of the game) SaveExt=usa (The extention used for savegames) Port=7777 (Default port) Class=xGame.xPawn (Not Used) Character=Gorgeセクション: FirstRun
クラス: Engine/Inc/UnEngineWin.h, - InitEngine()
によってロード 注: この変数は、ユーザーがゲームをするのが初めてかどうかを決定するために使用されます。この変数は、ユーザーにビデオ設定やその他のオプションをセットするように要求するウィンドウを表示したい場合に役に立つことがあります。=Engine= インスタンスが作成される前は、いつも [=ENGINE_VERSION=] の値にセットされます。 [FirstRun]
FirstRun=3323 (この変数がゼロである場合、このゲームが初めてスタートしたことを表します) セクション: Engine.Engine
クラス: UnrealScript code
注: このセクションでは、レンダー デバイス、オーディオ デバイスや多くのデフォルトを設定します。コンソール クラスは、最も変更したくなるような変数ですが、そうせずに、カスタム コンソール サブクラスを使用します。
- 起動中に URL が何も提供されなかったり、ロードされるマップが DefaultGameType? を適切に定義しない場合、エンジンが初期化するときに DefaultGame が使用されます。
[Engine.Engine] RenderDevice=D3DDrv.D3DRenderDevice (preferred render device) AudioDevice=ALAudio.ALAudioSubsystem (audio system) NetworkDevice=IpDrv.TcpNetDriver (network protocol) DemoRecordingDevice=Engine.DemoRecDriver Console=XInterface.ExtendedConsole (default console class) GUIController=GUI2K4.UT2K4GUIController (the GUI Controller to spawn) StreamPlayer=Engine.StreamInteraction (the in-game music player) Language=int (the localization to use) Product=UT2004 GameEngine=Engine.GameEngine EditorEngine=Editor.EditorEngine DefaultGame=XGame.XDeathmatch (the default gametype to use for local games) DefaultServerGame=XGame.XDeathmatch (the default gametype for servers) ViewportManager=WinDrv.WindowsClient Render=Render.Render (not used) Input=Engine.Input (not really used - referenced by UnCamera.cpp) Canvas=Engine.Canvas (not really used - referenced by UnCamera.cpp) DetectedVideoMemory=0 (can be used to force a certain amouth of video memory, set to 0 for auto detection) ServerReadsStdin=False (a linux\macosx feature for servers to read console commands from the stdin; experimental)セクション: Core.System
クラス: UnrealScript コード
注: このセクションでは、マップ、パッケージなどをロードするためにエンジンが使用するすべてのパスが定義されます。T
- SavePath は、シングル プレーヤのゲームが保存される位置です。
- パスには、特定ファイルタイプを見つけることができるファイル拡張子を含む相対位置が定義されます。
[Core.System] PurgeCacheDays=30 (number of days a file will remain in the cache before removing it) SavePath=..\Save CachePath=..\Cache (the location where downloaded files will be stored) CacheExt=.uxx (the extention to use for cache files) CacheRecordPath=../System/*.ucl (location where the cache records are stored) MusicPath=../Music (location to the music files) SpeechPath=../Speech (location to the MS Speech API gammar files) Paths=..\System\*.u Paths=..\Maps\*.unr Paths=..\TestMaps\*.unr Paths=..\Textures\*.utx Paths=..\Sounds\*.uax Paths=..\Music\*.umx Paths=..\StaticMeshes\*.usx Paths=..\Animations\*.ukx Suppress=DevLoad (these lines allow to to suppress certain log entries) Suppress=DevSave Suppress=DevNetTraffic Suppress=DevGarbage Suppress=DevKill Suppress=DevReplace Suppress=DevCompile Suppress=DevBind Suppress=DevBspセクション: Engine.GameEngine
クラス: UnrealScript コード
定義:
- ServerActors は、ネットワーク サーバ サポートのために UnLevel.cpp によって使用されます。これらのアクタは、ネットワーク ゲーム中にマップがロードするときに、レベルにスポーンされます(サーバ上で)。
- ServerPackages は、ネットワーク ゲーム中に実行する必要のあるパッケージに関連します。unrealエンジンによって、クライアントのIDがサーバと一致することを保証するクライアントの保証が、GUID でチェックされます。一致しない場合は、クライアントのサーバへの接続は拒否されます。クライアントへデータをレプリケートするクラスを含むパッケージはどのようなものでも、このセクションにリストされます。例えば、Engine.Weapon サブクラスを含むパッケージはどのようなものでも、このセクションにリストされる必要があります。フォーマット: ServerPackage=(Unreal パッケージ名) 。v3323 では、一時的なサーバ パッケージを、関数 AddToPackageMap(...) を使用してUnrealScript 内部から追加することも可能です。また、特定のアドオンがロードされるときにのみ必要なオプションのパッケージに対してこれを使用するのがよいかも知れません。
[Engine.GameEngine] CacheSizeMegs=32 UseSound=True VoIPAllowVAD=False ServerActors=IpDrv.MasterServerUplink ServerActors=UWeb.WebServer ServerPackages=Core ServerPackages=Engine ServerPackages=Fire ServerPackages=Editor ServerPackages=IpDrv ServerPackages=UWeb ServerPackages=GamePlay ServerPackages=UnrealGame ServerPackages=XEffects ServerPackages=XPickups ServerPackages=XGame ServerPackages=XWeapons ServerPackages=XInterface ServerPackages=Vehicles UseStaticMeshBatching=True (try to batch static meshes; when there's enough video memory) ColorHighDetailMeshes=False (used for debugging) ColorSlowCollisionMeshes=False ColorNoCollisionMeshes=False ColorWorldTextures=False ColorPlayerAndWeaponTextures=False ColorInterfaceTextures=False MainMenuClass=GUI2K4.UT2K4MainMenu (the main menu class; used by GUIController) ConnectingMenuClass=GUI2K4.UT2K4ServerLoading (the loading screen; online and instant action) DisconnectMenuClass=GUI2K4.UT2K4DisconnectOptionPage LoadingClass=GUI2K4.UT2K4SP_LadderLoading (the loading screen to use for the single player game) SinglePlayerMenuClass=GUI2K4.UT2K4SP_Main (the menu page for the single player game)セクション: WinDrv.WindowsClient
クラス: UnEngineWin.h
注: このクラスでは、Windowsコンピュータ システムのための設定が定義されます。これらの細部は、通常、外部アプリケーションによって初期化されます(UnEngineWin.h コードなど)。
[WinDrv.WindowsClient] WindowedViewportX=640 WindowedViewportY=480 FullscreenViewportX=800 FullscreenViewportY=600 MenuViewportX=640 MenuViewportY=480 Brightness=0.800000 Contrast=0.700000 Gamma=0.800000 UseJoystick=False (to active joystick support as input) CaptureMouse=True StartupFullscreen=True (start in fullscreen mode) ScreenFlashes=True NoLighting=False MinDesiredFrameRate=35.000000 AnimMeshDynamicLOD=0.0 Decals=True (Display Decals) Coronas=True DecoLayers=True (Draw the deco layers) Projectors=True NoDynamicLights=False ReportDynamicUploads=False TextureDetailInterface=Normal (Texture detail settings) TextureDetailTerrain=Normal TextureDetailWeaponSkin=Normal TextureDetailPlayerSkin=Normal TextureDetailWorld=Normal TextureDetailRenderMap=Normal TextureDetailLightmap=UltraHigh NoFractalAnim=False ScaleHUDX=0.0 MouseXMultiplier=1.000 MouseYMultiplier=1.000 UseSpeechRecognition=True (Enable speech recognition via the MS Speech API) WeatherEffects=True DrawDistanceLOD=1.0セクション: ALAudio.ALAudioSubsystem
クラス: ALAudio -> ALAudioSubsystem.cpp
注: このセクションでは、サウンド システムが設定されます。音楽およびサウンド ボリュームが、その他のオプションとともにここに保存されます。
[ALAudio.ALAudioSubsystem] UseEAX=False Use3DSound=False UseDefaultDriver=True (use the OpenAl driver that came with the game) CompatibilityMode=False MaxEAXVersion=255 UsePrecache=True ReverseStereo=False Channels=32 MusicVolume=0.10000 AmbientVolume=0.500000 SoundVolume=0.30000 VoiceVolume=4.000000 VolumeScaleRec=0.100000 DopplerFactor=1.0 Rolloff=0.5 TimeBetweenHWUpdates=15 DisablePitch=False LowQualitySound=False UseVoIP=True UseVAD=False UseSpatializedVoice=False SpatializedVoiceRadius=100000 EnhancedDenoiser=False LocalZOffset=0.0セクション: IpDrv.TcpNetDriver
クラス: IpDrv -> UnNetDrv.cpp
注: このセクションでは、サーバ用の unreal ネットワーク ドライバが設定されます(聞くこと専用)。
- AllowDownloads によって、サーバからファイルがダウンロードできるかどうかが指定されます(不明のパッケージ、マップなど)。これによっては、HTTP サーバへのダウンロード リダイレクトは、無効になりません。
- ConnectionTimeout によって、接続が終了するまでにサーバが待つ必要のある時間が指定されます(不良な接続状態が確立した後に生じます)。基本的に、遅滞したり、エラーの出た接続のためのものです。
- InitialConnectTimeout は、サーバへ接続するための 最初の 試みで、接続を確立するためにサーバが待つ秒数です。
- MaxClientRate は、現在のネットスピードを決定するために、 UnLevel.cpp によって使用されます(しかし、この変数では上限が定義されます)
- RelevantTimeout は、アクタがクライアントに関わる秒数です(ネットワーク ゲーム中にエンジンがチェックするチェック項目は他にたくさんありますが、この条件によって、アクタが通常より長く関わることになる可能性があります)。Engine -> UnLevTic.cpp を参照してください。
- SpawnPrioritySeconds は、アクタの関連性を計算するための助けとして、エンジンによって使用されます(スポーンされているアクタは、このイベントの触媒です)。
- ServerTravelPause は、新しいレベルに切り替わる前に、サーバが一時停止する必要のある秒数です。これは、レベル自体のプロパティです(LevelInfo.NextSwitchCountdown)。
[IpDrv.TcpNetDriver] AllowDownloads=True ConnectionTimeout=30.0 InitialConnectTimeout=200.0 AckTimeout=1.0 (not used) KeepAliveTime=0.2 MaxClientRate=15000 MaxInternetClientRate=10000 SimLatency=0 (not used) RelevantTimeout=5.0 SpawnPrioritySeconds=1.0 ServerTravelPause=4.0 NetServerMaxTickRate=20 LanServerMaxTickRate=35 DownloadManagers=IpDrv.HTTPDownload (download managers used to retrieve a file required by a server) DownloadManagers=Engine.ChannelDownload AllowPlayerPortUnreach=False (allow players who's host return a destination unreachable error) LogPortUnreach=False MaxConnPerIPPerMinute=5 (limit connection tries per IP) LogMaxConnPerIPPerMin=Falseセクション: Engine.GameReplicationInfo
クラス: UnrealScript コード
注: このセクションでは、サーバ情報がセットされます。
[Engine.GameReplicationInfo] ServerName=UT2004 Server ShortName=UT2 Server ServerRegion=0 (not used) AdminName= AdminEmail= MessageOfTheDay=セクション: IpServer.UdpServerQuery
[IpServer.UdpServerQuery] GameName=ut2 (Not Used)セクション: IpDrv.MasterServerUplink
クラス: UnrealScript コード
注: サーバ クエリとマスター サーバ アップリンクの設定をコントロールします。
[IpDrv.MasterServerUplink] DoUplink=True (master switch; uplink to the main master server) UplinkToGamespy=True (uplink to the gamespy master server; requires <nop>DoUplink) SendStats=True (send stats to the master server for stats logging) ServerBehindNAT=False (signals the master server that this server is behind NAT; broken in v3323)セクション: IpDrv.MasterServerLink
クラス: UnrealScript コード
注: 実際のマスター サーバ アップリンクを実行します。
- MasterServerList? は、接続するマスター サーバを伴う動的配列です(一度に一つのみ)。
[IpDrv.MasterServerLink] LANPort=11777 LANServerPort=10777 MasterServerList=(Address="ut2004master1.epicgames.com",Port=28902) MasterServerList=(Address="ut2004master2.epicgames.com",Port=28902)セクション: IpDrv.HTTPDownload
クラス: native コード
注: ウェブ サーバからのパッケージのダウンロードをコントロールします。
[IpDrv.HTTPDownload] RedirectToURL= (server side; web location to the files; including trailing slash) ProxyServerHost= (client side; proxy to connect through) ProxyServerPort=3128 (client side) UseCompression=True (server side; set to true when the remote files are compressed)セクション: Editor.EditorEngine
クラス: UnrealScript code / Editor -> UnEditor.cpp
注: このセクションのほとんどは、どのパッケージをロードするかを決めるために、 UnrealEd と UCC によって使用されます。しかし、UnrealEd のケースで、_UNREALED.UnrealEdEngine_ セクションが存在する場合(この場合デフォルトではありません)、UnrealEdEngine unrealscript クラスによって設定がオーバーライドされるため、このセクションは設定によってオーバーライドされます。
- EditPackages によって、エディタ/UCC が編集のためにロードする必要のあるパッケージが定義されます。ベース クラスがロードされ、次ぎにベース クラスのコンテンツを使用するクラスを含むパッケージがすべてその後に続きます。したがって、パッケージの順序は、Core から始まり、次ぎに Engine パッケージがロードされ、以下続きます。
- LoadEntirePackageWhenSaving は、デフォルトで偽にセットされています。この変数は、UnrealEd によって、インクリメンタル コンパイル を実行する必要があるかどうかを決めるために使用されます。これによって、クラスが UnrealEd 内で編集、コンパイルされるときに全パッケージが再コンパイルされないため、UnrealEd は、どのような外部unrealscript エディタ (Visual C++, など)よりもずっと速くクラスをコンパイルすることが可能です。
[Editor.EditorEngine] UseSound=True CacheSizeMegs=32 GridEnabled=True SnapVertices=False SnapDistance=1.000000 GridSize=(X=4.000000,Y=4.000000,Z=4.000000) RotGridEnabled=True RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) GameCommandLine=-log (commandline to append when starting the game for play testin) FovAngleDegrees=90.000000 GodMode=True AutoSave=True (automatically save the current map to a Auto#.ut2 file) AutoSaveTimeMinutes=5 AutoSaveIndex=6 UseAxisIndicator=True MatineeCurveDetail=0.1 ShowIntWarnings=False UseSizingBox=True RenderDevice=D3DDrv.D3DRenderDevice AudioDevice=ALAudio.ALAudioSubsystem NetworkDevice=IpDrv.TcpNetDriver DemoRecordingDevice=Engine.DemoRecDriver Console=Engine.Console Language=ute AlwaysShowTerrain=False UseActorRotationGizmo=False LoadEntirePackageWhenSaving=0 EditPackages=Core EditPackages=Engine EditPackages=Fire EditPackages=Editor EditPackages=UnrealEd EditPackages=IpDrv EditPackages=UWeb EditPackages=GamePlay EditPackages=UnrealGame EditPackages=XGame_rc EditPackages=XEffects EditPackages=XWeapons_rc EditPackages=XPickups_rc EditPackages=XPickups EditPackages=XGame EditPackages=XWeapons EditPackages=XInterface EditPackages=XAdmin EditPackages=XWebAdmin EditPackages=Vehicles EditPackages=BonusPack EditPackages=SkaarjPack_rc EditPackages=SkaarjPack EditPackages=UTClassic EditPackages=UT2k4Assault EditPackages=Onslaught EditPackages=GUI2K4 EditPackages=UT2k4AssaultFull EditPackages=OnslaughtFull EditPackages=xVoting EditPackages=StreamlineFX EditPackages=UTV2004c EditPackages=UTV2004s
User.ini ファイル
このファイルには、ジョイスティック ボタン、キー割り当て、およびユーザー固有のオプションなどの固定したユーザー設定が保存されます(PlayerController)。 User.ini が存在しない場合は、初期値が、DefUser.ini からコピーされます。 セクション: DefaultPlayerクラス: Engine -> UnController.cpp, UnGame.cpp
注: デフォルト プレーヤを設定します(ユーザーがスタートするプレーヤです)。
- Name は、プレーヤ/ユーザーの名前です。この変数は、GetDefaultURL() がコントローラに呼び出されたときにロードされます。
- このセクションはマジックのようです。このセクションのすべてのエントリは、自動的に connect url に追加されます。したがって、もし「TheAnswer=42」を追加すれば、それが追加されます。
[DefaultPlayer] Name=Player (Name of the player) Class=Engine.Pawn (Default Player Class) Character=Jakob team=255 (Default Team Assignment)セクション: Engine.Input
クラス: Engine -> UnCamera.cpp
注: キーを特定のアクションにバインドするために使用されます。ビューポート(UViewport) が作成されるとき、UnCamera.cpp によって入力システムがインスタンス化されます。
- エイリアスによって、一連の変数/関数をキーと関連付けるための簡単な方法が提供されます。
[Engine.Input] Aliases[0]=(Command="Button bFire | Fire",Alias=Fire) Aliases[12]=(Command="ActivateItem",Alias=InventoryActivate) LeftMouse=Fire ...セクション: Engine.Player
クラス: UnrealScript コード
注: このセクションでは、システムのインターネット接続(LAN, Cable, DSL, Modem, など)が保存されます。
[Engine.Player] ConfiguredInternetSpeed=10000 ConfiguredLanSpeed=20000セクション: Engine.HUD
クラス: UnrealScript コード
注: 様々な HUD 設定
[Engine.HUD] bSmallWeaponBar=true bHideHUD=false HudOpacity=255 HudScale=1.0 HudCanvasScale=1.0 bMessageBeep=true bShowWeaponInfo=true bShowWeaponBar=True bShowPersonalInfo=true bShowPoints=true bCrosshairShow=true bShowPortrait=True bNoEnemyNames=False CrosshairScale=1.0 CrosshairOpacity=1.0 CrosshairStyle=0 ConsoleMessageCount=4 ConsoleFontSize=5 MessageFontOffset=0セクション: DemoRecording
クラス: Native コード
注: デモ記録のファイルネーム マスク
[DemoRecording] DemoMask=Demo%tdセクション: Screenshots
クラス: Native コード
注: スクリーン ショット名の設定
[Screenshots] ShotMask=Shot%c (the filename mask) ShotCount=0 (current count, used for the %c replacement) ShotDir=..\Screenshots (location of the screenshots)セクション: Engine.TextToSpeechAlias
クラス: Native コード
注: スピーチ インターフェイスへのテキストの追加設定をいくつか含みます。
- RemoveCharacters。これらの文字はすべて、テキストから speech api へと送信される前に、テキストから削除されます。
- エイリアス;これらのアイテムは置換されます。
[Engine.TextToSpeechAlias] RemoveCharacters=|:][}{^/\~()* Aliases=(MatchWords=("gg"),ReplaceWord="good game") Aliases=(MatchWords=("rofl","rotfl","rotflmao"),ReplaceWord="rolls on floor laughing!") Aliases=(MatchWords=("lol"),ReplaceWord="laughing out loud!") Aliases=(MatchWords=("thx"),ReplaceWord="thanks") Aliases=(MatchWords=("np"),ReplaceWord="no problem") Aliases=(MatchWords=(":)",":-)",":P"),ReplaceWord="smile") Aliases=(MatchWords=(";)",";-)",";P"),ReplaceWord="wink") Aliases=(MatchWords=("omg","omfg"),ReplaceWord="oh my god!") Aliases=(MatchWords=("ns"),ReplaceWord="nice shot") Aliases=(MatchWords=("hf"),ReplaceWord="have fun") Aliases=(MatchWords=("fc"),ReplaceWord="flag carrier") Aliases=(MatchWords=("ih"),ReplaceWord="incoming high") Aliases=(MatchWords=("iw"),ReplaceWord="incoming low") Aliases=(MatchWords=("ir"),ReplaceWord="incoming right") Aliases=(MatchWords=("il"),ReplaceWord="incoming left") Aliases=(MatchWords=("thx"),ReplaceWord="thanks") Aliases=(MatchWords=("gl"),ReplaceWord="good luck") Aliases=(MatchWords=("cya"),ReplaceWord="seeya") Aliases=(MatchWords=("gj"),ReplaceWord="good job") Aliases=(MatchWords=("ty"),ReplaceWord="thank you") Aliases=(MatchWords=("bbl"),ReplaceWord="be back later") Aliases=(MatchWords=("brb"),ReplaceWord="be right back") Aliases=(MatchWords=("bbiab"),ReplaceWord="be back in a bit") Aliases=(MatchWords=("woot","w00t"),ReplaceWord="woute") Aliases=(MatchWords=("woot!","w00t!"),ReplaceWord="woute!") Aliases=(MatchWords=("woohoo"),ReplaceWord="woo who")